From 39861f72d1a545c349d63566f1d19cc26081a686 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Tue, 30 Aug 2022 16:18:37 -0700 Subject: [PATCH 001/101] Create dependabot.yml --- .github/dependabot.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..d07c72223 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "nuget" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 From 9334da2114434558fa8428839bf4a847b729bf6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:01:47 -0700 Subject: [PATCH 002/101] Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38834c0ff..c40f2a3d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,7 +86,7 @@ jobs: tools: licensefinder - name: Enable NuGet cache - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.8 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -141,7 +141,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.8 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -219,7 +219,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.8 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -284,7 +284,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.8 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -397,7 +397,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v2.1.7 + uses: actions/cache@v3.0.8 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} From 9a94d2c9049149a814597bc8817ea1af8b21eca9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:04:20 -0700 Subject: [PATCH 003/101] Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c40f2a3d0..a8c6359ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" @@ -76,7 +76,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" @@ -136,7 +136,7 @@ jobs: with: java-version: 1.11 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" @@ -214,7 +214,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" @@ -279,7 +279,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" @@ -392,7 +392,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v1 + - uses: actions/setup-dotnet@v2 with: dotnet-version: "6.0.x" From 536e2c50016cc467cad98bf077b1dbf46fdff959 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:04:49 -0700 Subject: [PATCH 004/101] Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8c6359ce..1cd839cc2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -363,7 +363,7 @@ jobs: - name: Anchore container scan id: anchore-scan - uses: anchore/scan-action@v3.2.0 + uses: anchore/scan-action@v3.2.5 if: ${{ (matrix.os == 'ubuntu-latest') }} with: image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} From 0746d1dd60d978f1b6602c6cefeeb29ebc828a3d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:08:10 -0700 Subject: [PATCH 005/101] Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update ci.yml Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1cd839cc2..5ca436154 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,9 +132,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up JDK 11 - uses: actions/setup-java@v1 + uses: actions/setup-java@v3 with: - java-version: 1.11 + distribution: zulu + java-version: '11' - uses: actions/setup-dotnet@v2 with: From 3e85792b01235d154640f8fbbb9da08f84a3da31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:09:06 -0700 Subject: [PATCH 006/101] Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ca436154..e6e6d735b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -328,7 +328,7 @@ jobs: retention-days: 7 - name: Log in to the Container registry - uses: docker/login-action@v1.12.0 + uses: docker/login-action@v2.0.0 if: ${{ (matrix.os == 'ubuntu-latest') }} with: registry: ${{ env.REGISTRY }} From 64264fc57983635805c3a47a2040a321e42bf344 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Tue, 6 Sep 2022 08:26:22 -0700 Subject: [PATCH 007/101] Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang --- .github/.gitversion.yml | 1 + .github/workflows/ci.yml | 2 +- .licenserc.yaml | 1 + .vscode/launch.json | 8 +- docs/api/rest/fhir.md | 66 + docs/changelog.md | 5 + src/CLI/Services/DockerRunner.cs | 4 - src/CLI/Test/DockerRunnerTest.cs | 1 - .../Test/StorageMetadataWrapperTest.cs | 4 +- .../Logging/Log.8000.HttpServices.cs | 19 +- src/InformaticsGateway/Program.cs | 2 + .../Services/DicomWeb/IStreamsWriter.cs | 2 +- .../Services/Fhir/ContentTypes.cs | 24 + .../Services/Fhir/FhirFormatters.cs | 40 + .../Services/Fhir/FhirJsonReader.cs | 90 + .../Fhir/FhirResourceTypesRouteConstraint.cs | 37 + .../Services/Fhir/FhirService.cs | 115 ++ .../Services/Fhir/FhirStoreException.cs | 55 + .../Services/Fhir/FhirStoreResult.cs | 48 + .../Services/Fhir/FhirXmlReader.cs | 112 ++ .../Services/Fhir/IFHirRequestReader.cs | 28 + .../Services/Fhir/IFhirService.cs | 27 + .../Services/Fhir/OperationOutcome.cs | 110 ++ .../Services/Fhir/Resources.cs | 33 + .../Services/Http/Fhir/FhirController.cs | 144 ++ .../Services/Http/Startup.cs | 29 +- .../Test/Services/Fhir/FhirJsonReaderTest.cs | 126 ++ .../FhirResourceTypesRouteConstraintTest.cs | 71 + .../Test/Services/Fhir/FhirServiceTest.cs | 152 ++ .../Test/Services/Fhir/FhirXmlReaderTest.cs | 143 ++ .../Services/Http/Fhir/FhirControllerTest.cs | 171 ++ src/Monai.Deploy.InformaticsGateway.sln | 19 +- tests/Integration.Test/Features/Fhir.feature | 34 + .../StepDefinitions/FhirDefinitions.cs | 190 ++ .../HealthLevel7Definitions.cs | 22 +- .../data/fhir/1.0.2 DSTU2/Observation.json | 75 + .../data/fhir/1.0.2 DSTU2/Observation.xml | 67 + .../data/fhir/1.0.2 DSTU2/Patient.json | 60 + .../data/fhir/1.0.2 DSTU2/Patient.xml | 33 + .../data/fhir/3.0.2 STU3/Bundle.json | 37 + .../data/fhir/3.0.2 STU3/Bundle.xml | 242 +++ .../fhir/3.0.2 STU3/DiagnosticReport.json | 129 ++ .../data/fhir/3.0.2 STU3/DiagnosticReport.xml | 1723 +++++++++++++++++ .../data/fhir/3.0.2 STU3/NutritionOrder.json | 113 ++ .../data/fhir/3.0.2 STU3/NutritionOrder.xml | 184 ++ .../data/fhir/3.0.2 STU3/Questionnaire.json | 166 ++ .../data/fhir/3.0.2 STU3/Questionnaire.xml | 133 ++ .../data/fhir/4.0.1 R4/CodeSystem.json | 166 ++ .../data/fhir/4.0.1 R4/CodeSystem.xml | 53 + .../data/fhir/4.0.1 R4/Observation.json | 120 ++ .../data/fhir/4.0.1 R4/Observation.xml | 42 + .../data/fhir/4.0.1 R4/OperationOutcome.json | 24 + .../data/fhir/4.0.1 R4/OperationOutcome.xml | 18 + .../data/fhir/4.0.1 R4/Patient.json | 116 ++ .../data/fhir/4.0.1 R4/Patient.xml | 70 + .../data/fhir/4.3.0 R4B/Bundle.json | 243 +++ .../data/fhir/4.3.0 R4B/Bundle.xml | 152 ++ .../data/fhir/4.3.0 R4B/Observation.json | 71 + .../data/fhir/4.3.0 R4B/Observation.xml | 57 + .../data/fhir/4.3.0 R4B/Patient.json | 112 ++ .../data/fhir/4.3.0 R4B/Patient.xml | 159 ++ tests/Integration.Test/data/fhir/copyright | 3 + tests/Integration.Test/run.sh | 46 +- 63 files changed, 6293 insertions(+), 56 deletions(-) create mode 100644 docs/api/rest/fhir.md create mode 100644 src/InformaticsGateway/Services/Fhir/ContentTypes.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirFormatters.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirService.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirStoreException.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirStoreResult.cs create mode 100644 src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs create mode 100644 src/InformaticsGateway/Services/Fhir/IFHirRequestReader.cs create mode 100644 src/InformaticsGateway/Services/Fhir/IFhirService.cs create mode 100644 src/InformaticsGateway/Services/Fhir/OperationOutcome.cs create mode 100644 src/InformaticsGateway/Services/Fhir/Resources.cs create mode 100644 src/InformaticsGateway/Services/Http/Fhir/FhirController.cs create mode 100644 src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs create mode 100644 src/InformaticsGateway/Test/Services/Fhir/FhirResourceTypesRouteConstraintTest.cs create mode 100644 src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs create mode 100644 src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs create mode 100644 src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs create mode 100644 tests/Integration.Test/Features/Fhir.feature create mode 100644 tests/Integration.Test/StepDefinitions/FhirDefinitions.cs create mode 100644 tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json create mode 100644 tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml create mode 100644 tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json create mode 100644 tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.json create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.xml create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json create mode 100644 tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json create mode 100644 tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.json create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json create mode 100644 tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml create mode 100644 tests/Integration.Test/data/fhir/copyright diff --git a/.github/.gitversion.yml b/.github/.gitversion.yml index f50aeb01f..014925200 100644 --- a/.github/.gitversion.yml +++ b/.github/.gitversion.yml @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +next-version: 0.2.0 assembly-versioning-scheme: MajorMinorPatchTag mode: ContinuousDelivery branches: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6e6d735b..a8992569e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -205,7 +205,7 @@ jobs: needs: [build] strategy: matrix: - feature: [AcrApi, DicomDimseScp, DicomDimseScu, DicomWebExport, DicomWebStow, HealthLevel7] + feature: [AcrApi, DicomDimseScp, DicomDimseScu, DicomWebExport, DicomWebStow, HealthLevel7, Fhir] fail-fast: false env: TAG: ${{ needs.build.outputs.TAG }} diff --git a/.licenserc.yaml b/.licenserc.yaml index 916a8d96b..0df83c2b3 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -33,6 +33,7 @@ header: - 'demos/**/.env/**' - 'docs/templates/**' - 'tests/Integration.Test/*.dev' + - 'tests/Integration.Test/data/**' comment: on-failure diff --git a/.vscode/launch.json b/.vscode/launch.json index b9b186f4a..f450c8431 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,13 +12,11 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "build-cli", - "program": "${workspaceFolder}/src/CLI/bin/Debug/net5.0/linux-x64/mig-cli", + "program": "${workspaceFolder}/src/CLI/bin/Debug/net6.0/linux-x64/mig-cli", "args": [ - "config", - "endpoint", - "http://localhost:4500" + "start" ], - "cwd": "${workspaceFolder}/src/CLI/bin/Debug/net5.0/linux-x64", + "cwd": "${workspaceFolder}/src/CLI/bin/Debug/net6.0/linux-x64", "stopAtEntry": true, "console": "internalConsole" }, diff --git a/docs/api/rest/fhir.md b/docs/api/rest/fhir.md new file mode 100644 index 000000000..963b413b8 --- /dev/null +++ b/docs/api/rest/fhir.md @@ -0,0 +1,66 @@ + + +# DICOMWeb STOW-RS APIs + +The `fhir/` endpoint implements the specifications defined in [section 3.1.0 RESTful API](http://hl7.org/implement/standards/fhir/http.html) +defined by HL7 (Health Level 7 International) to enable triggering new workflows. The FHIR service supports multiple versions of the Fast Healthcare Interoperability Resources (FHIR) specifications published by Health Level 7 International (HL7). + +[!Note] +The service does not support `CapabilityStatement` at this moment and does not group the incoming FHIR resources. Therefore, each incoming FHIR resource will trigger a new workflow request. + +The *FHIR* service provides the following endpoint. + +## POST /fhir/[resource] + +Triggers a new workflow request with the posted FHIR resource. + +> [!IMPORTANT] +> Refer to [section 1.2 Resource Index](http://hl7.org/fhir/resourcelist.html) for a list of HL7 resources. The endpoint is designed to accept any resource and provides only syntax validation either in XML or JSON. + +### Parameters + +#### Query Parameters: + +| Name | Type | Description | +| -------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| resource | string | (Optional) resouce type of the FHIR document. The services reject the request if the `Resource` value in the URL differs from the `Resource` value described in the posted document. | + +#### Request Body: + +Supported Content-Types: + +- `application/fhir+json` +- `application/fhir+xml` + +### Responses + +Depending on the `Accept` header or the original document, the response supports the following content types: + +- `application/fhir+json` +- `application/fhir+xml` + +If the `Accept` header is missing or a none supported value exists, the service will return the same type as the posted document. + +| Code | Data Type | Description | +| ---- | ------------------------------------------------------------- | --------------------------------------------------------------------- | +| 201 | Original JSON or XML document. | Resource created & stored successfully. | +| 400 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Unable to parse the resource or mismatching resource type specified.. | +| 415 | `none` | Unsupported media type | +| 500 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Server error. | + +[!Note] +The `Location` header in the response given that the resources created are for inference only. diff --git a/docs/changelog.md b/docs/changelog.md index 1cadf7021..37e15a9ad 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -16,6 +16,11 @@ # Changelog +## 0.3.0 + +[GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/3) + +- Adds a basic [FHIR service](api/rest/config.md) to accept any versions of FHIR. ## 0.2.0 diff --git a/src/CLI/Services/DockerRunner.cs b/src/CLI/Services/DockerRunner.cs index cc4b18f92..20d1c15a0 100644 --- a/src/CLI/Services/DockerRunner.cs +++ b/src/CLI/Services/DockerRunner.cs @@ -135,10 +135,6 @@ public async Task StartApplication(ImageVersion imageVersion, Cancellation _fileSystem.Directory.CreateDirectoryIfNotExists(_configurationService.Configurations.HostDatabaseStorageMount); createContainerParams.HostConfig.Mounts.Add(new Mount { Type = "bind", ReadOnly = false, Source = _configurationService.Configurations.HostDatabaseStorageMount, Target = Common.MountedDatabasePath }); - _logger.DockerMountTempDirectory(_configurationService.Configurations.HostDataStorageMount, _configurationService.Configurations.TempStoragePath); - _fileSystem.Directory.CreateDirectoryIfNotExists(_configurationService.Configurations.HostDataStorageMount); - createContainerParams.HostConfig.Mounts.Add(new Mount { Type = "bind", ReadOnly = false, Source = _configurationService.Configurations.HostDataStorageMount, Target = _configurationService.Configurations.TempStoragePath }); - _logger.DockerMountAppLogs(_configurationService.Configurations.HostLogsStorageMount, _configurationService.Configurations.LogStoragePath); _fileSystem.Directory.CreateDirectoryIfNotExists(_configurationService.Configurations.HostLogsStorageMount); createContainerParams.HostConfig.Mounts.Add(new Mount { Type = "bind", ReadOnly = false, Source = _configurationService.Configurations.HostLogsStorageMount, Target = _configurationService.Configurations.LogStoragePath }); diff --git a/src/CLI/Test/DockerRunnerTest.cs b/src/CLI/Test/DockerRunnerTest.cs index e5cf6aab1..2ecb446d5 100644 --- a/src/CLI/Test/DockerRunnerTest.cs +++ b/src/CLI/Test/DockerRunnerTest.cs @@ -176,7 +176,6 @@ public async Task StartApplication() c.ExposedPorts.ContainsKey("200/tcp") && c.HostConfig.Mounts.Count(m => m.ReadOnly && m.Source == Common.ConfigFilePath && m.Target == Common.MountedConfigFilePath) == 1 && c.HostConfig.Mounts.Count(m => !m.ReadOnly && m.Source == "/database" && m.Target == Common.MountedDatabasePath) == 1 && - c.HostConfig.Mounts.Count(m => !m.ReadOnly && m.Source == "/storage" && m.Target == "/tempdata") == 1 && c.HostConfig.Mounts.Count(m => !m.ReadOnly && m.Source == "/logs" && m.Target == "/templogs") == 1), It.IsAny()), Times.Exactly(2)); _logger.VerifyLogging("Warnings: warning1", LogLevel.Warning, Times.Once()); diff --git a/src/Database/Test/StorageMetadataWrapperTest.cs b/src/Database/Test/StorageMetadataWrapperTest.cs index 696875965..ea0b60536 100644 --- a/src/Database/Test/StorageMetadataWrapperTest.cs +++ b/src/Database/Test/StorageMetadataWrapperTest.cs @@ -38,7 +38,7 @@ public void GivenAFhirFileStorageMetadataObject_WhenInitializedWithStorageMetada var unwrapped = wrapper.GetObject() as FhirFileStorageMetadata; - Assert.Equal(metadata.CorrelationId, unwrapped.CorrelationId); + Assert.Equal(metadata.CorrelationId, unwrapped!.CorrelationId); Assert.Equal(metadata.Id, unwrapped.Id); Assert.Equal(metadata.DataTypeDirectoryName, unwrapped.DataTypeDirectoryName); Assert.Equal(metadata.DateReceived, unwrapped.DateReceived); @@ -79,7 +79,7 @@ public void GivenADicomFileStorageMetadataObject_WhenInitializedWithStorageMetad var unwrapped = wrapper.GetObject() as DicomFileStorageMetadata; - Assert.Equal(metadata.CalledAeTitle, unwrapped.CalledAeTitle); + Assert.Equal(metadata.CalledAeTitle, unwrapped!.CalledAeTitle); Assert.Equal(metadata.CallingAeTitle, unwrapped.CallingAeTitle); Assert.Equal(metadata.CorrelationId, unwrapped.CorrelationId); Assert.Equal(metadata.Id, unwrapped.Id); diff --git a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs index d9479cf26..458df40f5 100644 --- a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs +++ b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs @@ -112,12 +112,29 @@ public static partial class Log public static partial void StowFailedWithNoSpace(this ILogger logger, Exception ex = null); [LoggerMessage(EventId = 8108, Level = LogLevel.Information, Message = "STOW instance queued.")] - public static partial void QueuedInstanceUsingCorrelationId(this ILogger logger); + public static partial void QueuedStowInstance(this ILogger logger); [LoggerMessage(EventId = 8109, Level = LogLevel.Information, Message = "Saving {count} DICOMWeb STOW-RS streams.")] public static partial void SavingStream(this ILogger logger, int count); [LoggerMessage(EventId = 8110, Level = LogLevel.Warning, Message = "Ignoring zero length stream.")] public static partial void ZeroLengthDicomWebStowStream(this ILogger logger); + + // FHIR Serer + + [LoggerMessage(EventId = 8200, Level = LogLevel.Debug, Message = "Parsing FHIR as JSON.")] + public static partial void ParsingFhirJson(this ILogger logger); + + [LoggerMessage(EventId = 8201, Level = LogLevel.Debug, Message = "Parsing FHIR as XML.")] + public static partial void ParsingFhirXml(this ILogger logger); + + [LoggerMessage(EventId = 8202, Level = LogLevel.Information, Message = "FHIR instance queued.")] + public static partial void QueueFhirInstance(this ILogger logger); + + [LoggerMessage(EventId = 8203, Level = LogLevel.Error, Message = "Error storing FHIR object.")] + public static partial void FhirStoreException(this ILogger logger, Exception ex); + + [LoggerMessage(EventId = 8204, Level = LogLevel.Error, Message = "Failed to store FHIR resource.")] + public static partial void ErrorStoringFhirResource(this ILogger logger, Exception ex); } } diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 9a9d16477..85b1e7cc0 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -34,6 +34,7 @@ using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.Services.DicomWeb; using Monai.Deploy.InformaticsGateway.Services.Export; +using Monai.Deploy.InformaticsGateway.Services.Fhir; using Monai.Deploy.InformaticsGateway.Services.HealthLevel7; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scp; @@ -103,6 +104,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index ecab30344..b33a30b78 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -170,7 +170,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w // for DICOMweb, use correlation ID as the grouping key await _payloadAssembler.Queue(correlationId, dicomInfo, _configuration.Value.DicomWeb.Timeout).ConfigureAwait(false); - _logger.QueuedInstanceUsingCorrelationId(); + _logger.QueuedStowInstance(); AddSuccess(null, uids); diff --git a/src/InformaticsGateway/Services/Fhir/ContentTypes.cs b/src/InformaticsGateway/Services/Fhir/ContentTypes.cs new file mode 100644 index 000000000..6f1efbddf --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/ContentTypes.cs @@ -0,0 +1,24 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal static class ContentTypes + { + public const string ApplicationFhirXml = "application/fhir+xml"; + public const string ApplicationFhirJson = "application/fhir+json"; + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirFormatters.cs b/src/InformaticsGateway/Services/Fhir/FhirFormatters.cs new file mode 100644 index 000000000..58cd06e0f --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirFormatters.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Text.Json; +using Microsoft.AspNetCore.Mvc.Formatters; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirJsonFormatters : SystemTextJsonOutputFormatter + { + public FhirJsonFormatters(JsonSerializerOptions jsonSerializerOptions) : base(jsonSerializerOptions) + { + SupportedMediaTypes.Clear(); + SupportedMediaTypes.Add(ContentTypes.ApplicationFhirJson); + } + } + + internal class FhirXmlFormatters : XmlDataContractSerializerOutputFormatter + + { + public FhirXmlFormatters() + { + SupportedMediaTypes.Clear(); + SupportedMediaTypes.Add(ContentTypes.ApplicationFhirXml); + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs new file mode 100644 index 000000000..9b8ab8b99 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -0,0 +1,90 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Text.Json; +using System.Text.Json.Nodes; +using System.Threading; +using System.Threading.Tasks; +using Ardalis.GuardClauses; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; +using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Logging; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirJsonReader : IFHirRequestReader + { + private readonly ILogger _logger; + + public FhirJsonReader(ILogger logger) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public async Task GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) + { + Guard.Against.Null(request, nameof(request)); + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.NullOrInvalidInput(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue), (value) => + { + return value.MediaType.Value.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase); + }); + + _logger.ParsingFhirJson(); + + var result = new FhirStoreResult + { + ResourceType = resourceType, + RawData = await new StreamReader(request.Body).ReadToEndAsync().ConfigureAwait(false) + }; + + var jsonDoc = JsonNode.Parse(result.RawData); + + if (jsonDoc[Resources.PropertyResourceType] is not null) + { + result.InternalResourceType = jsonDoc[Resources.PropertyResourceType].GetValue(); + } + + var resourceId = SetIdIfMIssing(correlationId, jsonDoc); + + result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); + + var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); + fileMetadata.SetDataStream(result.RawData); + + result.Metadata = fileMetadata; + return result; + } + + private static string SetIdIfMIssing(string correlationId, JsonNode jsonDoc) + { + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(jsonDoc, nameof(jsonDoc)); + + if (string.IsNullOrWhiteSpace(jsonDoc[Resources.PropertyId]?.GetValue())) + { + jsonDoc[Resources.PropertyId] = correlationId; + } + + return jsonDoc[Resources.PropertyId].GetValue(); + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs b/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs new file mode 100644 index 000000000..d962c125b --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs @@ -0,0 +1,37 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirResourceTypesRouteConstraint : IRouteConstraint + { + public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) + { + Guard.Against.Null(httpContext, nameof(httpContext)); + Guard.Against.Null(route, nameof(route)); + Guard.Against.NullOrWhiteSpace(routeKey, nameof(routeKey)); + Guard.Against.Null(values, nameof(values)); + + return (values.TryGetValue(Resources.RouteNameResourceType, out var resourceTypeObject) && + resourceTypeObject is string resourceType && + !string.IsNullOrWhiteSpace(resourceType)); + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs new file mode 100644 index 000000000..59c3b8cf0 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -0,0 +1,115 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; +using Ardalis.GuardClauses; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.ModelBinding; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Logging; +using Monai.Deploy.InformaticsGateway.Services.Connectors; +using Monai.Deploy.InformaticsGateway.Services.Storage; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirService : IFhirService + { + private readonly IServiceScopeFactory _serviceScopeFactory; + private readonly IOptions _configuration; + private readonly ILogger _logger; + private readonly IPayloadAssembler _payloadAssembler; + private readonly IObjectUploadQueue _uploadQueue; + + public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions configuration) + { + _serviceScopeFactory = serviceScopeFactory ?? throw new ArgumentNullException(nameof(serviceScopeFactory)); + _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); + + var scope = _serviceScopeFactory.CreateScope(); + _logger = scope.ServiceProvider.GetService>() ?? throw new ServiceNotFoundException(nameof(ILogger)); + _payloadAssembler = scope.ServiceProvider.GetService() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); + _uploadQueue = scope.ServiceProvider.GetService() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); + } + + public async Task StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) + { + Guard.Against.Null(request, nameof(request)); + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + + if (!MediaTypeHeaderValue.TryParse(request.ContentType, out var mediaTypeHeaderValue)) + { + throw new UnsupportedContentTypeException($"The content type of '{request.ContentType}' is not supported."); + } + + var reader = GetRequestReader(mediaTypeHeaderValue); + FhirStoreResult content; + try + { + content = await reader.GetContentAsync(request, correlationId, resourceType, mediaTypeHeaderValue, cancellationToken).ConfigureAwait(false); + } + catch (JsonException ex) + { + throw new FhirStoreException(correlationId, "The FHIR resource is not a valid JSON object.", IssueType.Structure, ex); + } + catch (XmlException ex) + { + throw new FhirStoreException(correlationId, "The FHIR resource is not a valid XML object.", IssueType.Structure, ex); + } + + if (!string.IsNullOrWhiteSpace(resourceType) && + !resourceType.Equals(content.InternalResourceType, StringComparison.OrdinalIgnoreCase)) + { + throw new FhirStoreException(correlationId, $"Provided resource is of type '{content.InternalResourceType}' but request targeted type '{resourceType}'.", IssueType.Invalid); + } + + _uploadQueue.Queue(content.Metadata); + await _payloadAssembler.Queue(correlationId, content.Metadata, Resources.PayloadAssemblerTimeout).ConfigureAwait(false); + _logger.QueuedStowInstance(); + + content.StatusCode = StatusCodes.Status201Created; + return content; + } + + private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeaderValue) + { + Guard.Against.Null(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue)); + + var scope = _serviceScopeFactory.CreateScope(); + if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) + { + var logger = scope.ServiceProvider.GetService>() ?? throw new ServiceNotFoundException(nameof(ILogger)); + return new FhirJsonReader(logger); + } + + if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase)) + { + var logger = scope.ServiceProvider.GetService>() ?? throw new ServiceNotFoundException(nameof(ILogger)); + return new FhirXmlReader(logger); + } + + throw new UnsupportedContentTypeException($"Media type of '{mediaTypeHeaderValue.MediaType}' is not supported."); + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirStoreException.cs b/src/InformaticsGateway/Services/Fhir/FhirStoreException.cs new file mode 100644 index 000000000..31d90de27 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirStoreException.cs @@ -0,0 +1,55 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Runtime.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + [Serializable] + public class FhirStoreException : Exception + { + public OperationOutcome OperationOutcome { get; } + + public FhirStoreException(string correlationId, string message, IssueType issueType) : this(correlationId, message, issueType, null) + { + } + + public FhirStoreException(string correlationId, string message, IssueType issueType, Exception innerException) : base(message, innerException) + { + OperationOutcome = new OperationOutcome() + { + Id = correlationId, + ResourceType = Resources.ResourceOperationOutcome, + }; + + OperationOutcome.Issues.Add(new Issue + { + Severity = IssueSeverity.Error, + Code = issueType + }); + + OperationOutcome.Issues[0].Details.Add(new IssueDetails + { + Text = message + }); + } + + protected FhirStoreException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirStoreResult.cs b/src/InformaticsGateway/Services/Fhir/FhirStoreResult.cs new file mode 100644 index 000000000..7139d3b32 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirStoreResult.cs @@ -0,0 +1,48 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api.Storage; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirStoreResult + { + /// + /// HTTP result status code. + /// + public int StatusCode { get; internal set; } + + /// + /// User posted data. + /// + public string RawData { get; internal set; } + + /// + /// + /// + public FhirFileStorageMetadata Metadata { get; internal set; } + + /// + /// ResourceType found in the original FHIR resource. + /// + public string InternalResourceType { get; internal set; } + + /// + /// ResourceType specified by the user in the POST URI. + /// + public string ResourceType { get; internal set; } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs new file mode 100644 index 000000000..07610c6b2 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -0,0 +1,112 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; +using Ardalis.GuardClauses; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; +using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Logging; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal class FhirXmlReader : IFHirRequestReader + { + private readonly ILogger _logger; + + public FhirXmlReader(ILogger logger) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public async Task GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) + { + Guard.Against.Null(request, nameof(request)); + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.NullOrInvalidInput(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue), (value) => + { + return value.MediaType.Value.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase); + }); + + _logger.ParsingFhirXml(); + + var result = new FhirStoreResult + { + ResourceType = resourceType, + RawData = await new StreamReader(request.Body).ReadToEndAsync().ConfigureAwait(false) + }; + + var xmlDocument = new XmlDocument(); + xmlDocument.LoadXml(result.RawData); + var rootNode = xmlDocument.DocumentElement; + + if (!rootNode.NamespaceURI.Equals(Resources.FhirXmlNamespace, StringComparison.OrdinalIgnoreCase)) + { + throw new FhirStoreException(correlationId, $"XML content is not a valid FHIR resource.", IssueType.Invalid); + } + + var xmlNamespaceManager = new XmlNamespaceManager(xmlDocument.NameTable); + xmlNamespaceManager.AddNamespace(Resources.XmlNamespacePrefix, Resources.FhirXmlNamespace); + + var resourceId = SetIdIfMIssing(correlationId, xmlNamespaceManager, rootNode); + + var sb = new StringBuilder(); + using (var xmlWriter = XmlWriter.Create(sb, new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true })) + { + xmlDocument.Save(xmlWriter); + } + + result.RawData = sb.ToString(); + result.InternalResourceType = rootNode.Name; + + var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); + fileMetadata.SetDataStream(result.RawData); + + result.Metadata = fileMetadata; + return result; + } + + private static string SetIdIfMIssing(string correlationId, XmlNamespaceManager xmlNamespaceManager, XmlElement rootNode) + { + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(xmlNamespaceManager, nameof(xmlNamespaceManager)); + Guard.Against.Null(rootNode, nameof(rootNode)); + + var idNode = rootNode.SelectSingleNode($"{Resources.XmlNamespacePrefix}:{Resources.PropertyId}", xmlNamespaceManager); + if (idNode is null) + { + idNode = rootNode.OwnerDocument.CreateElement(Resources.PropertyId, Resources.FhirXmlNamespace); + rootNode.PrependChild(idNode); + } + + if (string.IsNullOrWhiteSpace(idNode.Attributes[Resources.AttributeValue]?.Value)) + { + var value = idNode.OwnerDocument.CreateAttribute(Resources.AttributeValue); + value.Value = correlationId; + idNode.Attributes.Append(value); + } + + return idNode.Attributes[Resources.AttributeValue].Value; + } + } +} diff --git a/src/InformaticsGateway/Services/Fhir/IFHirRequestReader.cs b/src/InformaticsGateway/Services/Fhir/IFHirRequestReader.cs new file mode 100644 index 000000000..adc433a17 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/IFHirRequestReader.cs @@ -0,0 +1,28 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Net.Http.Headers; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal interface IFHirRequestReader + { + Task GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken); + } +} diff --git a/src/InformaticsGateway/Services/Fhir/IFhirService.cs b/src/InformaticsGateway/Services/Fhir/IFhirService.cs new file mode 100644 index 000000000..a480b3369 --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/IFhirService.cs @@ -0,0 +1,27 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal interface IFhirService + { + Task StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken); + } +} diff --git a/src/InformaticsGateway/Services/Fhir/OperationOutcome.cs b/src/InformaticsGateway/Services/Fhir/OperationOutcome.cs new file mode 100644 index 000000000..43c503e2c --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/OperationOutcome.cs @@ -0,0 +1,110 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using System.Xml.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + [DataContract(Namespace = Resources.FhirXmlNamespace)] + public class OperationOutcome + { + [DataMember] + public string ResourceType { get; set; } + + [DataMember] + public string Id { get; set; } + + [XmlIgnore, JsonPropertyName("issue")] + public IList Issues { get; set; } + + [DataMember, JsonIgnore] + public Issue Issue + { + get + { + return Issues.FirstOrDefault(); + } + set + { + Issues.Clear(); + Issues.Add(value); + } + } + + public OperationOutcome() + { + Issues = new List(); + } + } + + [DataContract(Namespace = Resources.FhirXmlNamespace)] + public class Issue + { + [DataMember] + public IssueSeverity Severity { get; set; } + + [DataMember] + public IssueType Code { get; set; } + + [DataMember] + public IList Details { get; set; } + + public Issue() + { + Details = new List(); + } + } + + [DataContract(Namespace = Resources.FhirXmlNamespace)] + public class IssueDetails + { + [DataMember] + public string Text { get; set; } + } + + [DataContract(Namespace = Resources.FhirXmlNamespace)] + public enum IssueType + { + [EnumMember] + Invalid, + + [EnumMember] + Structure, + + [EnumMember] + Exception + } + + [DataContract(Namespace = Resources.FhirXmlNamespace)] + public enum IssueSeverity + { + [EnumMember] + Information, + + [EnumMember] + Warning, + + [EnumMember] + Error, + + [EnumMember] + Fatal, + } +} diff --git a/src/InformaticsGateway/Services/Fhir/Resources.cs b/src/InformaticsGateway/Services/Fhir/Resources.cs new file mode 100644 index 000000000..6761d60cc --- /dev/null +++ b/src/InformaticsGateway/Services/Fhir/Resources.cs @@ -0,0 +1,33 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Services.Fhir +{ + internal static class Resources + { + public const string RouteNameResourceType = "resourceType"; + public const string ResourceTypeRouteConstraint = "fhirResource"; + + public const string ResourceOperationOutcome = "OperationOutcome"; + + public const string FhirXmlNamespace = "http://hl7.org/fhir"; + public const string XmlNamespacePrefix = "hl7"; + public const string PropertyResourceType = "resourceType"; + public const string PropertyId = "id"; + public const string AttributeValue = "value"; + public const uint PayloadAssemblerTimeout = 1; + } +} diff --git a/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs b/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs new file mode 100644 index 000000000..82adb7d56 --- /dev/null +++ b/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs @@ -0,0 +1,144 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Logging; +using Monai.Deploy.InformaticsGateway.Services.Fhir; + +namespace Monai.Deploy.InformaticsGateway.Services.Http.Fhir +{ + [ApiController] + [Route("fhir")] + public class FhirController : ControllerBase, IDisposable + { + private readonly IServiceScope _scope; + private readonly IFhirService _fhirService; + private readonly ILogger _logger; + private bool _disposedValue; + + public FhirController(IServiceScopeFactory serviceScopeFactory) + { + if (serviceScopeFactory is null) + { + throw new ArgumentNullException(nameof(serviceScopeFactory)); + } + + _scope = serviceScopeFactory.CreateScope(); + _fhirService = _scope.ServiceProvider.GetService() ?? throw new ServiceNotFoundException(nameof(IFhirService)); + _logger = _scope.ServiceProvider.GetService>() ?? throw new ServiceNotFoundException(nameof(ILogger)); + } + + [HttpPost] + [Consumes(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status400BadRequest)] + [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status500InternalServerError)] + [Produces(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] + public async Task Create() + { + return await Create(string.Empty).ConfigureAwait(false); + } + + [HttpPost] + [Consumes(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] + [Route($"{{{Resources.RouteNameResourceType}:{Resources.ResourceTypeRouteConstraint}}}")] + [ProducesResponseType(StatusCodes.Status201Created)] + [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status400BadRequest)] + [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status500InternalServerError)] + [Produces(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] + public async Task Create(string resourceType) + { + var correlationId = Guid.NewGuid().ToString(); + using var logger = _logger.BeginScope(new LoggingDataDictionary { { "CorrelationId", correlationId } }); + + try + { + var result = await _fhirService.StoreAsync(Request, correlationId, resourceType, HttpContext.RequestAborted).ConfigureAwait(false); + return new ContentResult + { + Content = result.RawData, + ContentType = Request.ContentType, + StatusCode = result.StatusCode + }; + } + catch (FhirStoreException ex) + { + _logger.FhirStoreException(ex); + return new ObjectResult(ex.OperationOutcome) + { + StatusCode = StatusCodes.Status400BadRequest + }; + } + catch (Exception ex) + { + _logger.ErrorStoringFhirResource(ex); + return OperatorionOutcome(correlationId, ex, StatusCodes.Status500InternalServerError); + } + } + + private static IActionResult OperatorionOutcome(string correlationId, Exception exception, int httpStatusCode) + { + var operationOutput = new OperationOutcome + { + Id = correlationId, + ResourceType = Resources.ResourceOperationOutcome, + }; + + operationOutput.Issues.Add(new Issue + { + Severity = IssueSeverity.Error, + Code = IssueType.Exception + }); + + operationOutput.Issues[0].Details.Add(new IssueDetails + { + Text = exception.Message + }); + + return new ObjectResult(operationOutput) + { + StatusCode = httpStatusCode + }; + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index 01ed536e5..80d47333f 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -20,10 +20,12 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; +using Monai.Deploy.InformaticsGateway.Services.Fhir; namespace Monai.Deploy.InformaticsGateway.Services.Http { @@ -42,7 +44,26 @@ public void ConfigureServices(IServiceCollection services) #pragma warning restore CA1822 // Mark members as static { services.AddHttpContextAccessor(); - services.AddControllers().AddJsonOptions(opts => + services.AddControllers(opts => + { + opts.RespectBrowserAcceptHeader = true; + var jsonSerializerOptions = new JsonSerializerOptions + { + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, + PropertyNameCaseInsensitive = true, + DictionaryKeyPolicy = JsonNamingPolicy.CamelCase, + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + NumberHandling = JsonNumberHandling.AllowReadingFromString, + WriteIndented = false + }; + + jsonSerializerOptions.Converters.Add(new JsonStringEnumMemberConverter(JsonNamingPolicy.CamelCase, false)); + jsonSerializerOptions.Converters.Add(new DicomJsonConverter(writeTagsAsKeywords: false, autoValidate: false)); + jsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, false)); + opts.OutputFormatters.Add(new FhirJsonFormatters(jsonSerializerOptions)); + opts.OutputFormatters.Add(new FhirXmlFormatters()); + }) + .AddJsonOptions(opts => { opts.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; opts.JsonSerializerOptions.PropertyNameCaseInsensitive = true; @@ -53,6 +74,12 @@ public void ConfigureServices(IServiceCollection services) opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumMemberConverter(JsonNamingPolicy.CamelCase, false)); opts.JsonSerializerOptions.Converters.Add(new DicomJsonConverter(writeTagsAsKeywords: false, autoValidate: false)); opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, false)); + }) + .AddXmlSerializerFormatters(); + + services.Configure(options => + { + options.ConstraintMap.Add("fhirResource", typeof(FhirResourceTypesRouteConstraint)); }); services.AddSwaggerGen(c => diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs new file mode 100644 index 000000000..d224f7a05 --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs @@ -0,0 +1,126 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; +using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Moq; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir +{ + public class FhirJsonReaderTest + { + private readonly InformaticsGatewayConfiguration _config; + private readonly Mock> _logger; + + public FhirJsonReaderTest() + { + _config = new InformaticsGatewayConfiguration(); + _logger = new Mock>(); + } + + [Fact] + public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var reader = new FhirJsonReader(_logger.Object); + + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, resourceType, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, resourceType, new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml), CancellationToken.None)); + } + + [Fact] + public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); + var reader = new FhirJsonReader(_logger.Object); + + await Assert.ThrowsAsync(async () => + { + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + + await Assert.ThrowsAnyAsync(async () => + { + request.Setup(p => p.Body).Returns(MemoryStream.Null); + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + } + + [Fact] + public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); + var reader = new FhirJsonReader(_logger.Object); + + await Assert.ThrowsAnyAsync(async () => + { + var data = System.Text.Encoding.UTF8.GetBytes("save the world"); + using var stream = new System.IO.MemoryStream(); + await stream.WriteAsync(data, 0, data.Length); + stream.Position = 0; + request.Setup(p => p.Body).Returns(stream); + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + } + + [Theory] + [InlineData("{\"resourceType\":\"Patient\",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + [InlineData("{\"resourceType\":\"Patient\",\"id\":\"\",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + [InlineData("{\"resourceType\":\"Patient\",\"id\":\" \",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(string xml) + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); + var reader = new FhirJsonReader(_logger.Object); + + var data = System.Text.Encoding.UTF8.GetBytes(xml); + using var stream = new System.IO.MemoryStream(); + await stream.WriteAsync(data, 0, data.Length); + stream.Position = 0; + request.Setup(p => p.Body).Returns(stream); + var results = await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + + Assert.Equal(correlationId, results.Metadata.CorrelationId); + Assert.Equal(correlationId, results.Metadata.ResourceId); + Assert.Equal(resourceType, results.InternalResourceType); + Assert.IsType(results.Metadata.File.Data); + Assert.NotNull(results.Metadata); + Assert.Contains($"\"id\": \"{correlationId}\"", results.RawData); + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirResourceTypesRouteConstraintTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirResourceTypesRouteConstraintTest.cs new file mode 100644 index 000000000..593fe11c4 --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirResourceTypesRouteConstraintTest.cs @@ -0,0 +1,71 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; +using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Moq; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir +{ + public class FhirResourceTypesRouteConstraintTest + { + [Fact] + public void Match_WhenCalled_ShallValidateParameters() + { + var httpContext = new Mock(); + var router = new Mock(); + var routeKey = "key"; + var routeValueDictionary = new RouteValueDictionary(); + + var routeConstraint = new FhirResourceTypesRouteConstraint(); + + Assert.Throws(() => routeConstraint.Match(null, null, null, null, RouteDirection.IncomingRequest)); + Assert.Throws(() => routeConstraint.Match(httpContext.Object, null, null, null, RouteDirection.IncomingRequest)); + Assert.Throws(() => routeConstraint.Match(httpContext.Object, router.Object, null, null, RouteDirection.IncomingRequest)); + Assert.Throws(() => routeConstraint.Match(httpContext.Object, router.Object, routeKey, null, RouteDirection.IncomingRequest)); + } + + [Fact] + public void Match_WhenCalledWithInvalidResourceType_ReturnsFalse() + { + var httpContext = new Mock(); + var router = new Mock(); + var routeKey = "key"; + var routeValueDictionary = new RouteValueDictionary(); + + var routeConstraint = new FhirResourceTypesRouteConstraint(); + + Assert.False(routeConstraint.Match(httpContext.Object, router.Object, routeKey, routeValueDictionary, RouteDirection.IncomingRequest)); + } + + [Fact] + public void Match_WhenCalledWithValidResourceType_ReturnsTrue() + { + var httpContext = new Mock(); + var router = new Mock(); + var routeKey = "key"; + var routeValueDictionary = new RouteValueDictionary(); + routeValueDictionary.Add(Resources.RouteNameResourceType, "Tao"); + + var routeConstraint = new FhirResourceTypesRouteConstraint(); + + Assert.True(routeConstraint.Match(httpContext.Object, router.Object, routeKey, routeValueDictionary, RouteDirection.IncomingRequest)); + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs new file mode 100644 index 000000000..ccb22751e --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -0,0 +1,152 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc.ModelBinding; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Services.Connectors; +using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Monai.Deploy.InformaticsGateway.Services.Storage; +using Moq; +using xRetry; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir +{ + public class FhirServiceTest + { + private readonly Mock _serviceScopeFactory; + private readonly IOptions _options; + + private readonly Mock> _logger; + private readonly Mock> _loggerJson; + private readonly Mock> _loggerXml; + private readonly Mock _payloadAssembler; + private readonly Mock _uploadQueue; + + private readonly Mock _serviceScope; + private readonly IServiceProvider _serviceProvider; + private readonly Mock _httpRequest; + + public FhirServiceTest() + { + _serviceScopeFactory = new Mock(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock(); + + _payloadAssembler = new Mock(); + _uploadQueue = new Mock(); + _logger = new Mock>(); + _loggerJson = new Mock>(); + _loggerXml = new Mock>(); + + _httpRequest = new Mock(); + + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => _loggerJson.Object); + services.AddScoped(p => _loggerXml.Object); + services.AddScoped(p => _uploadQueue.Object); + services.AddScoped(p => _payloadAssembler.Object); + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _logger.Setup(p => p.IsEnabled(It.IsAny())).Returns(true); + } + + [RetryFact] + public void GivenAFhirService_WhenInitialized_ExpectParametersToBeValidated() + { + Assert.Throws(() => new FhirService(null, null)); + Assert.Throws(() => new FhirService(_serviceScopeFactory.Object, null)); + + new FhirService(_serviceScopeFactory.Object, _options); + } + + [RetryFact] + public async Task StoreAsync_WhenCalled_ShallValidateParametersAsync() + { + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var service = new FhirService(_serviceScopeFactory.Object, _options); + + await Assert.ThrowsAsync(async () => await service.StoreAsync(null, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await service.StoreAsync(_httpRequest.Object, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await service.StoreAsync(_httpRequest.Object, correlationId, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await service.StoreAsync(_httpRequest.Object, correlationId, resourceType, CancellationToken.None)); + } + + [RetryTheory] + [InlineData(ContentTypes.ApplicationFhirXml, "")] + [InlineData(ContentTypes.ApplicationFhirJson, "{\"resourceType\":\"Patient\",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + public async Task StoreAsync_WhenCalledWithInvalidContent_ShallThrowFhirStoreException(string contentType, string content) + { + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "WHAT"; + var service = new FhirService(_serviceScopeFactory.Object, _options); + + _httpRequest.Setup(p => p.ContentType).Returns(contentType); + _httpRequest.Setup(p => p.Body).Returns(MemoryStream.Null); + await Assert.ThrowsAsync(async () => await service.StoreAsync(_httpRequest.Object, correlationId, resourceType, CancellationToken.None)); + } + + [RetryTheory] + [InlineData(ContentTypes.ApplicationFhirXml, "")] + [InlineData(ContentTypes.ApplicationFhirJson, "{\"resourceType\":\"Patient\",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + public async Task StoreAsync_WhenCalledWithMismatchingResourceTypes_ShallThrowFhirStoreException(string contentType, string content) + { + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "WHAT"; + var service = new FhirService(_serviceScopeFactory.Object, _options); + + _httpRequest.Setup(p => p.ContentType).Returns(contentType); + _httpRequest.Setup(p => p.Body).Returns(new MemoryStream(Encoding.UTF8.GetBytes(content))); + await Assert.ThrowsAsync(async () => await service.StoreAsync(_httpRequest.Object, correlationId, resourceType, CancellationToken.None)); + } + + [RetryTheory] + [InlineData(ContentTypes.ApplicationFhirXml, "")] + [InlineData(ContentTypes.ApplicationFhirJson, "{\"resourceType\":\"Patient\",\"name\":[{\"use\":\"official\",\"family\":\"Monai\",\"given\":[\"Deploy\"]}]}")] + public async Task StoreAsync_WhenCalledWithValidContent_ShallQueueForProessing(string contentType, string content) + { + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var service = new FhirService(_serviceScopeFactory.Object, _options); + + _httpRequest.Setup(p => p.ContentType).Returns(contentType); + _httpRequest.Setup(p => p.Body).Returns(new MemoryStream(Encoding.UTF8.GetBytes(content))); + var results = await service.StoreAsync(_httpRequest.Object, correlationId, resourceType, CancellationToken.None); + + Assert.Equal(StatusCodes.Status201Created, results.StatusCode); + + _uploadQueue.Verify(p => p.Queue(It.IsAny()), Times.Once()); + _payloadAssembler.Verify(p => p.Queue(It.IsAny(), It.IsAny(), It.IsAny()), Times.Once()); + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs new file mode 100644 index 000000000..1475e954a --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs @@ -0,0 +1,143 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; +using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Moq; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir +{ + public class FhirXmlReaderTest + { + private readonly Mock> _logger; + + public FhirXmlReaderTest() + { + _logger = new Mock>(); + } + + [Fact] + public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var reader = new FhirXmlReader(_logger.Object); + + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, null, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, resourceType, null, CancellationToken.None)); + await Assert.ThrowsAsync(async () => await reader.GetContentAsync(request.Object, correlationId, resourceType, new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson), CancellationToken.None)); + } + + [Fact] + public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); + var reader = new FhirXmlReader(_logger.Object); + + await Assert.ThrowsAsync(async () => + { + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + + await Assert.ThrowsAsync(async () => + { + request.Setup(p => p.Body).Returns(MemoryStream.Null); + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + } + + [Fact] + public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); + var reader = new FhirXmlReader(_logger.Object); + + await Assert.ThrowsAsync(async () => + { + var data = System.Text.Encoding.UTF8.GetBytes("save the world"); + using var stream = new System.IO.MemoryStream(); + await stream.WriteAsync(data, 0, data.Length); + stream.Position = 0; + request.Setup(p => p.Body).Returns(stream); + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + } + + [Fact] + public async Task GetContentAsync_WhenCalledWithNonFhirContent_ThrowsException() + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); + var reader = new FhirXmlReader(_logger.Object); + + await Assert.ThrowsAsync(async () => + { + var data = System.Text.Encoding.UTF8.GetBytes("missing-correct-namespace"); + using var stream = new System.IO.MemoryStream(); + await stream.WriteAsync(data, 0, data.Length); + stream.Position = 0; + request.Setup(p => p.Body).Returns(stream); + await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + }); + } + + [Theory] + [InlineData("")] + [InlineData("")] + [InlineData("")] + public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(string xml) + { + var request = new Mock(); + var correlationId = Guid.NewGuid().ToString(); + var resourceType = "Patient"; + var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); + var reader = new FhirXmlReader(_logger.Object); + + var data = System.Text.Encoding.UTF8.GetBytes(xml); + using var stream = new System.IO.MemoryStream(); + await stream.WriteAsync(data, 0, data.Length); + stream.Position = 0; + request.Setup(p => p.Body).Returns(stream); + var results = await reader.GetContentAsync(request.Object, correlationId, resourceType, contentType, CancellationToken.None); + + Assert.Equal(correlationId, results.Metadata.CorrelationId); + Assert.Equal(correlationId, results.Metadata.ResourceId); + Assert.Equal(resourceType, results.InternalResourceType); + Assert.IsType(results.Metadata.File.Data); + Assert.NotNull(results.Metadata); + Assert.Contains($"", results.RawData); + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs new file mode 100644 index 000000000..b3b1babd0 --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs @@ -0,0 +1,171 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Monai.Deploy.InformaticsGateway.Services.Http.Fhir; +using Moq; +using Xunit; +using ContentTypes = Monai.Deploy.InformaticsGateway.Services.Fhir.ContentTypes; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Http.Fhir +{ + public class FhirControllerTest + { + private readonly Mock _serviceScopeFactory; + private readonly Mock _fhirService; + private readonly Mock> _logger; + + private readonly Mock _serviceScope; + private readonly IServiceProvider _serviceProvider; + private readonly FhirController _controller; + + public FhirControllerTest() + { + _logger = new Mock>(); + _fhirService = new Mock(); + _serviceScopeFactory = new Mock(); + _serviceScope = new Mock(); + + var services = new ServiceCollection(); + services.AddScoped(p => _fhirService.Object); + services.AddScoped(p => _serviceScopeFactory.Object); + services.AddScoped(p => _logger.Object); + + _serviceProvider = services.BuildServiceProvider(); + + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; + + _controller = new FhirController(_serviceScopeFactory.Object) + { + ControllerContext = controllerContext + }; + + _logger.Setup(p => p.IsEnabled(It.IsAny())).Returns(true); + } + + [Theory] + [InlineData(ContentTypes.ApplicationFhirJson)] + [InlineData(ContentTypes.ApplicationFhirXml)] + public async Task Create_WhenCalled_ReturnsOriginalResource(string contentType) + { + var input = "input data"; + _fhirService.Setup(p => p.StoreAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())) + .ReturnsAsync(new FhirStoreResult + { + RawData = input, + StatusCode = StatusCodes.Status201Created + }); + + _controller.Request.ContentType = contentType; + + var result = await _controller.Create(); + Assert.NotNull(result); + var contentResult = result as ContentResult; + Assert.NotNull(contentResult); + Assert.Equal(input, contentResult.Content); + Assert.Equal(StatusCodes.Status201Created, contentResult.StatusCode); + Assert.Equal(contentType, contentResult.ContentType); + + _controller.Dispose(); + } + + [Theory] + [InlineData(ContentTypes.ApplicationFhirJson)] + [InlineData(ContentTypes.ApplicationFhirXml)] + public async Task Create_WhenCalledWithResourceType_ReturnsOriginalResource(string contentType) + { + var input = "input data"; + _fhirService.Setup(p => p.StoreAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())) + .ReturnsAsync(new FhirStoreResult + { + RawData = input, + StatusCode = StatusCodes.Status201Created + }); + + _controller.Request.ContentType = contentType; + + var result = await _controller.Create("Patient"); + Assert.NotNull(result); + var contentResult = result as ContentResult; + Assert.NotNull(contentResult); + Assert.Equal(input, contentResult.Content); + Assert.Equal(StatusCodes.Status201Created, contentResult.StatusCode); + Assert.Equal(contentType, contentResult.ContentType); + + _controller.Dispose(); + } + + [Theory] + [InlineData(ContentTypes.ApplicationFhirJson)] + [InlineData(ContentTypes.ApplicationFhirXml)] + public async Task Create_WhenCalledWithResourceTypeWithFhirStoreException_ReturnsFhirOperationOutcome(string contentType) + { + _fhirService.Setup(p => p.StoreAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())) + .ThrowsAsync(new FhirStoreException(Guid.NewGuid().ToString(), "error", IssueType.Invalid)); + + _controller.Request.ContentType = contentType; + + var result = await _controller.Create("Patient"); + Assert.NotNull(result); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + Assert.IsType(objectResult.Value); + Assert.Equal(StatusCodes.Status400BadRequest, objectResult.StatusCode); + + var operationOutome = objectResult.Value as OperationOutcome; + Assert.Equal("error", operationOutome.Issues[0].Details[0].Text); + Assert.Equal(IssueType.Invalid, operationOutome.Issues[0].Code); + Assert.Equal(IssueSeverity.Error, operationOutome.Issues[0].Severity); + + _controller.Dispose(); + } + + [Theory] + [InlineData(ContentTypes.ApplicationFhirJson)] + [InlineData(ContentTypes.ApplicationFhirXml)] + public async Task Create_WhenCalledWithResourceTypeWithGeneralException_ReturnsFhirOperationOutcome(string contentType) + { + _fhirService.Setup(p => p.StoreAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())) + .ThrowsAsync(new Exception("error")); + + _controller.Request.ContentType = contentType; + + var result = await _controller.Create("Patient"); + Assert.NotNull(result); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + Assert.IsType(objectResult.Value); + Assert.Equal(StatusCodes.Status500InternalServerError, objectResult.StatusCode); + + var operationOutome = objectResult.Value as OperationOutcome; + Assert.Equal("error", operationOutome.Issues[0].Details[0].Text); + Assert.Equal(IssueType.Exception, operationOutome.Issues[0].Code); + Assert.Equal(IssueSeverity.Error, operationOutome.Issues[0].Severity); + + _controller.Dispose(); + } + } +} diff --git a/src/Monai.Deploy.InformaticsGateway.sln b/src/Monai.Deploy.InformaticsGateway.sln index 38806dda6..ac7be6905 100644 --- a/src/Monai.Deploy.InformaticsGateway.sln +++ b/src/Monai.Deploy.InformaticsGateway.sln @@ -1,22 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 - - - VisualStudioVersion = 17.0.32014.148 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway", "InformaticsGateway\Monai.Deploy.InformaticsGateway.csproj", "{5F7BF552-40CD-4B57-BD26-728BDC207AC6}" @@ -59,7 +42,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGat EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI", "DicomWebClient\CLI\Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj", "{689E0066-81DA-4602-B058-D93389DF5DBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monai.Deploy.InformaticsGateway.Database.Test", "Database\Test\Monai.Deploy.InformaticsGateway.Database.Test.csproj", "{D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.Test", "Database\Test\Monai.Deploy.InformaticsGateway.Database.Test.csproj", "{D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/tests/Integration.Test/Features/Fhir.feature b/tests/Integration.Test/Features/Fhir.feature new file mode 100644 index 000000000..0f15a5220 --- /dev/null +++ b/tests/Integration.Test/Features/Fhir.feature @@ -0,0 +1,34 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# @ignored +Feature: FHIR + + @messaging_workflow_request @messaging + Scenario Outline: Ability to store FHIR messages in different formats + Given FHIR message in + When the FHIR messages are sent to Informatics Gateway + Then workflow requests are sent to message broker + And FHIR resources are uploaded to storage service + + Examples: + | version | format | + | 1.0.2 DSTU2 | XML | + | 1.0.2 DSTU2 | JSON | + | 3.0.2 STU3 | XML | + | 3.0.2 STU3 | JSON | + | 4.0.1 R4 | XML | + | 4.0.1 R4 | JSON | + | 4.3.0 R4B | XML | + | 4.3.0 R4B | JSON | diff --git a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs new file mode 100644 index 000000000..7187fc4a0 --- /dev/null +++ b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs @@ -0,0 +1,190 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Globalization; +using System.Text; +using System.Text.Json; +using System.Text.Json.Nodes; +using System.Xml; +using Ardalis.GuardClauses; +using Minio; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; +using Monai.Deploy.Messaging.Events; +using Monai.Deploy.Messaging.Messages; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions +{ + [Binding] + [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] + public class FhirDefinitions + { + internal enum FileFormat + { Xml, Json }; + + internal static readonly TimeSpan WaitTimeSpan = TimeSpan.FromMinutes(2); + private readonly FeatureContext _featureContext; + private readonly ScenarioContext _scenarioContext; + private readonly ISpecFlowOutputHelper _outputHelper; + private readonly Configurations _configuration; + private readonly RabbitMqHooks _rabbitMqHooks; + private readonly Dictionary _input; + private readonly Dictionary _output; + private FileFormat _fileFormat; + private string _mediaType; + + public FhirDefinitions( + FeatureContext featureContext, + ScenarioContext scenarioContext, + ISpecFlowOutputHelper outputHelper, + Configurations configuration, + RabbitMqHooks rabbitMqHooks) + { + _featureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext)); + _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); + _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); + + _input = new Dictionary(); + _output = new Dictionary(); + } + + [Given(@"FHIR message (.*) in (.*)")] + public async Task GivenHl7MessagesInVersionX(string version, string format) + { + Guard.Against.NullOrWhiteSpace(version, nameof(version)); + Guard.Against.NullOrWhiteSpace(format, nameof(format)); + + var files = Directory.GetFiles($"data/fhir/{version}", $"*.{format.ToLowerInvariant()}"); + + _fileFormat = format == "XML" ? FileFormat.Xml : FileFormat.Json; + _mediaType = _fileFormat == FileFormat.Xml ? "application/fhir+xml" : "application/fhir+json"; + + foreach (var file in files) + { + _outputHelper.WriteLine($"Adding file {file}"); + _input[file] = await File.ReadAllTextAsync(file); + } + _rabbitMqHooks.SetupMessageHandle(files.Length); + } + + [When(@"the FHIR messages are sent to Informatics Gateway")] + public async Task WhenTheMessagesAreSentToInformaticsGateway() + { + var httpClient = new HttpClient(); + httpClient.BaseAddress = new Uri($"{_configuration.InformaticsGatewayOptions.ApiEndpoint}/fhir/"); + httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(_mediaType)); + httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", _mediaType); + + foreach (var file in _input.Keys) + { + var path = Path.GetFileNameWithoutExtension(file); + _outputHelper.WriteLine($"Sending file {file} to /fhir/{path}..."); + var httpContent = new StringContent(_input[file], Encoding.UTF8, _mediaType); + var response = await httpClient.PostAsync(path, httpContent); + response.EnsureSuccessStatusCode(); + } + } + + [Then(@"workflow requests are sent to message broker")] + public void ThenWorkflowRequestAreSentToMessageBroker() + { + _rabbitMqHooks.MessageWaitHandle.Wait(WaitTimeSpan).Should().BeTrue(); + } + + [Then(@"FHIR resources are uploaded to storage service")] + public async Task ThenFhirResourcesAreUploadedToStorageService() + { + var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList; + messages.Should().NotBeNullOrEmpty().And.HaveCount(_input.Count); + + var minioClient = new MinioClient() + .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + + foreach (var message in messages) + { + message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); + var request = message.ConvertTo(); + request.Should().NotBeNull(); + request.FileCount.Should().Be(1); + + foreach (var file in request.Payload) + { + var getObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Path}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Position = 0; + var data = Encoding.UTF8.GetString(memoryStream.ToArray()); + data.Should().NotBeNullOrWhiteSpace(); + + var incomingFilename = Path.GetFileName(file.Path); + var storedFileKey = _input.Keys.FirstOrDefault(p => p.EndsWith(incomingFilename)); + storedFileKey.Should().NotBeNull(); + + _outputHelper.WriteLine($"Validating file {storedFileKey}..."); + if (incomingFilename.EndsWith(".json", true, CultureInfo.InvariantCulture)) + { + ValidateJson(_input[storedFileKey], data); + } + else + { + ValidateXml(_input[storedFileKey], data); + } + }); + await minioClient.GetObjectAsync(getObjectArgs); + } + } + } + + private void ValidateXml(string expected, string actual) + { + expected = FormatXml(expected); + expected.Should().Be(actual); + } + + private string FormatXml(string xml) + { + var xmlDocument = new XmlDocument(); + xmlDocument.LoadXml(xml); + var sb = new StringBuilder(); + using (var xmlWriter = XmlWriter.Create(sb, new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true })) + { + xmlDocument.Save(xmlWriter); + } + return sb.ToString(); + } + + private void ValidateJson(string expected, string actual) + { + expected = FormatJson(expected); + expected.Should().Be(actual); + } + + private string FormatJson(string expected) + { + var jsonDoc = JsonNode.Parse(expected); + return jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); + } + } +} diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index cac0f858a..ee2f64df4 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -94,7 +94,7 @@ public async Task WhenTheMessagesAreSentToInformaticsGateway() { break; } - + responseData = Encoding.UTF8.GetString(buffer.ToArray()); var startIndex = responseData.IndexOf((char)0x0B); @@ -124,12 +124,12 @@ public async Task WhenTheMessagesAreSentToInformaticsGatewayInOneBatch() { _outputHelper.WriteLine($"Sending file {file}..."); var data = _input[file].GetMLLP(); - messages.AddRange(data); + messages.AddRange(data); } using var tcpClient = new TcpClient(); await tcpClient.ConnectAsync(_configuration.InformaticsGatewayOptions.Host, _configuration.InformaticsGatewayOptions.Hl7Port); - var networkStream = tcpClient.GetStream(); + var networkStream = tcpClient.GetStream(); await networkStream.WriteAsync(messages.ToArray(), 0, messages.Count); var buffer = new byte[512]; var responseData = string.Empty; @@ -140,18 +140,18 @@ public async Task WhenTheMessagesAreSentToInformaticsGatewayInOneBatch() { break; } - + responseData = Encoding.UTF8.GetString(buffer.ToArray()); var rawHl7Messages = HL7.Dotnetcore.MessageHelper.ExtractMessages(responseData); - foreach(var message in rawHl7Messages) + foreach (var message in rawHl7Messages) { var hl7Message = new HL7.Dotnetcore.Message(message); hl7Message.ParseMessage(); var segment = hl7Message.DefaultSegment("MSH"); _output[segment.Fields(10).Value] = message; } - + if (_output.Count == _input.Count) { break; @@ -219,6 +219,16 @@ public async Task ThenMessageAreUploadedToStorageService() break; } } + if (!matchFound) + { + _outputHelper.WriteLine($"HL7 message on MinIO: {hl7Message.HL7Message}"); + _outputHelper.WriteLine($"HL7 message in memory:"); + + foreach (var file in _input.Values) + { + _outputHelper.WriteLine($"file=>{file.SerializeMessage(true)}"); + } + } matchFound.Should().BeTrue(); }); await minioClient.GetObjectAsync(getObjectArgs); diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json new file mode 100644 index 000000000..f8f2c3589 --- /dev/null +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json @@ -0,0 +1,75 @@ +{ + "resourceType": "Observation", + "id": "Observation", + "text": { + "fhir_comments": [ + " urn:oid:2.16.840.1.113883.4.642.1.7 ", + " 2.16.840.1.113883.4.642.1.118 " + ], + "status": "generated", + "div": "

Generated Narrative with Details

id: f003

identifier: 6325 (OFFICIAL)

status: final

code: Carbon dioxide in blood (Details : {LOINC code '11557-6' = 'Carbon dioxide [Partial pressure] in Blood', given as 'Carbon dioxide in blood'})

subject: P. van de Heuvel

effective: 02/04/2013 10:30:10 AM --> 05/04/2013 10:30:10 AM

issued: 03/04/2013 3:30:10 PM

performer: A. Langeveld

value: 6.2 kPa (Details: http://unitsofmeasure.org code kPa = '??')

interpretation: Above high normal (Details : {http://hl7.org/fhir/v2/0078 code 'H' = 'High', given as 'Above high normal'})

ReferenceRanges

-LowHigh
*4.8 kPa (Details: http://unitsofmeasure.org code kPa = '??')6.0 kPa (Details: http://unitsofmeasure.org code kPa = '??')
" + }, + "identifier": [ + { + "use": "official", + "system": "http://www.bmc.nl/zorgportal/identifiers/observations", + "value": "6325" + } + ], + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "11557-6", + "display": "Carbon dioxide in blood" + } + ] + }, + "subject": { + "reference": "Patient/f001", + "display": "P. van de Heuvel" + }, + "effectivePeriod": { + "start": "2013-04-02T10:30:10+01:00", + "end": "2013-04-05T10:30:10+01:00" + }, + "issued": "2013-04-03T15:30:10+01:00", + "performer": [ + { + "reference": "Practitioner/f005", + "display": "A. Langeveld" + } + ], + "valueQuantity": { + "value": 6.2, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + }, + "interpretation": { + "coding": [ + { + "system": "http://hl7.org/fhir/v2/0078", + "code": "H", + "display": "Above high normal" + } + ] + }, + "referenceRange": [ + { + "low": { + "value": 4.8, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + }, + "high": { + "value": 6.0, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + } + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml new file mode 100644 index 000000000..fcfd8375e --- /dev/null +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml @@ -0,0 +1,67 @@ + + + +

Generated Narrative with Details

id: example

status: final

category: Vital Signs (Details : {http://hl7.org/fhir/observation-category code 'vital-signs' = 'Vital Signs', + given as 'Vital Signs'})

code: Weight Measured (Details : {LOINC code '3141-9' = 'Body weight Measured', given as 'Weight Measured'}; + {SNOMED CT code '27113001' = '27113001', given as 'Body weight'}; {http://acme.org/devices/clinical- + codes code 'body-weight' = '??', given as 'Body Weight'})

subject: Patient/example

encounter: Encounter/example

value: 185 lbs (Details: http://unitsofmeasure.org code [lb_av] = '??')

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json new file mode 100644 index 000000000..77cf8c7ca --- /dev/null +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json @@ -0,0 +1,60 @@ +{ + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "
Patient MINT_TEST, ID = MINT1234. Age = 56y, Size =\n 1.83m, Weight = 72.58kg
" + }, + "extension": [ + { + "url": "http://nema.org/fhir/extensions#0010:1010", + "valueQuantity": { + "value": 56, + "unit": "Y" + } + }, + { + "url": "http://nema.org/fhir/extensions#0010:1020", + "valueQuantity": { + "value": 1.83, + "unit": "m" + } + }, + { + "url": "http://nema.org/fhir/extensions#0010:1030", + "valueQuantity": { + "value": 72.58, + "unit": "kg" + } + } + ], + "identifier": [ + { + "system": "http://nema.org/examples/patients", + "value": "MINT1234" + } + ], + "active": true, + "name": [ + { + "family": [ + "MINT_TEST" + ] + } + ], + "gender": "male", + "_gender": { + "extension": [ + { + "url": "http://nema.org/examples/extensions#gender", + "valueCoding": { + "system": "http://nema.org/examples/gender", + "code": "M" + } + } + ] + }, + "managingOrganization": { + "reference": "Organization/1" + } + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml new file mode 100644 index 000000000..a6a14cb0f --- /dev/null +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml @@ -0,0 +1,33 @@ + + + + +
+ +

Henry Levin the 7th

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json new file mode 100644 index 000000000..70287fc6c --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json @@ -0,0 +1,37 @@ +{ + "resourceType": "Bundle", + "id": "Bundle", + "type": "batch", + "entry": [ + { + "request": { + "method": "GET", + "url": "/Patient/example" + } + }, + { + "request": { + "method": "GET", + "url": "/MedicationStatement?patient=example&_list=$current-medications" + } + }, + { + "request": { + "method": "GET", + "url": "/AllergyIntolernce?patient=example&_list=$current-allergies" + } + }, + { + "request": { + "method": "GET", + "url": "/Condition?patient=example&_list=$current-problems" + } + }, + { + "request": { + "method": "GET", + "url": "/MedicationStatement?patient=example¬given:not=true" + } + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml new file mode 100644 index 000000000..4df8c5dd7 --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + +
Some narrative
+
+ + + + + + + + + +
+
+ + + + + + + +
+ + + + + + + + + + +
Some narrative
+
+ + + + + + + + + +
+
+ + + + + + + + + +
+ + + + + + + + + + + +
Some narrative
+
+ + + + + + + + + +
+
+ + + + + + + +
+ + + + + + + + + + +
Some narrative
+
+ + + + + + + + + +
+
+ + + + + + + +
+ + + + + + + + +
Some narrative
+
+ + + + + + + + + +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.json new file mode 100644 index 000000000..f2f16281e --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.json @@ -0,0 +1,129 @@ +{ + "resourceType": "DiagnosticReport", + "id": "DiagnosticReport", + "text": { + "status": "generated", + "div": "

Generated Narrative with Details

id: f001

contained:

identifier: nr1239044 (OFFICIAL)

basedOn: id: req; L2381; status: active; intent: original-order; Complete blood count (hemogram) panel - Blood by Automated count (Details : {LOINC code '58410-2' = 'Complete blood count (hemogram) panel - Blood by Automated count', given as 'Complete blood count (hemogram) panel - Blood by Automated count'}); P. van den Heuvel; ????; Annotation: patient almost fainted during procedure

status: final

category: Haematology test (Details : {SNOMED CT code '252275004' = 'Haematology test', given as 'Haematology test'}; {http://hl7.org/fhir/v2/0074 code 'HM' = 'Hematology)

code: Complete blood count (hemogram) panel - Blood by Automated count (Details : {LOINC code '58410-2' = 'Complete blood count (hemogram) panel - Blood by Automated count', given as 'Complete blood count (hemogram) panel - Blood by Automated count'})

subject: P. van den Heuvel

issued: 15/05/2013 7:32:52 PM

Performers

-Actor
*Burgers University Medical Centre

result:

conclusion: Core lab

" + }, + "contained": [ + { + "resourceType": "ProcedureRequest", + "id": "req", + "extension": [ + { + "url": "http://example.org/bodysitecode", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "14975008", + "display": "Forearm structure" + } + ] + } + } + ], + "identifier": [ + { + "system": "http://www.bmc.nl/zorgportal/identifiers/labresults", + "value": "L2381" + } + ], + "status": "active", + "intent": "original-order", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "58410-2", + "display": "Complete blood count (hemogram) panel - Blood by Automated count" + } + ] + }, + "subject": { + "reference": "Patient/f001", + "display": "P. van den Heuvel" + }, + "context": { + "reference": "Encounter/f001" + }, + "requester": { + "agent": { + "reference": "Practitioner/f001", + "display": "E.van den Broek" + } + }, + "note": [ + { + "text": "patient almost fainted during procedure" + } + ] + } + ], + "identifier": [ + { + "use": "official", + "system": "http://www.bmc.nl/zorgportal/identifiers/reports", + "value": "nr1239044" + } + ], + "basedOn": [ + { + "reference": "#req" + } + ], + "status": "final", + "category": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "252275004", + "display": "Haematology test" + }, + { + "system": "http://hl7.org/fhir/v2/0074", + "code": "HM" + } + ] + }, + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "58410-2", + "display": "Complete blood count (hemogram) panel - Blood by Automated count" + } + ] + }, + "subject": { + "reference": "Patient/f001", + "display": "P. van den Heuvel" + }, + "issued": "2013-05-15T19:32:52+01:00", + "performer": [ + { + "actor": { + "reference": "Organization/f001", + "display": "Burgers University Medical Centre" + } + } + ], + "result": [ + { + "reference": "Observation/f001" + }, + { + "reference": "Observation/f002" + }, + { + "reference": "Observation/f003" + }, + { + "reference": "Observation/f004" + }, + { + "reference": "Observation/f005" + } + ], + "conclusion": "Core lab" +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml new file mode 100644 index 000000000..89d473e9d --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml @@ -0,0 +1,1723 @@ + + + + + + + + + + + +
+

CBC Report for Wile. E. COYOTE (MRN: 23453) issued 3-Mar 2011 11:45

+
 
+Test                  Units       Value       Reference Range
+Haemoglobin           g/L         176         135 - 180
+Red Cell Count        x10*12/L    5.9         4.2 - 6.0
+Haematocrit                       0.55+       0.38 - 0.52
+Mean Cell Volume      fL          99+         80 - 98
+Mean Cell Haemoglobin pg          36+         27 - 35
+Platelet Count        x10*9/L     444         150 - 450
+White Cell Count      x10*9/L     4.6         4.0 - 11.0
+Neutrophils           %           20
+Neutrophils           x10*9/L     0.9---      2.0 - 7.5
+Lymphocytes           %           20
+Lymphocytes           x10*9/L     0.9-        1.1 - 4.0
+Monocytes             %           20
+Monocytes             x10*9/L     0.9         0.2 - 1.0
+Eosinophils           %           20
+Eosinophils           x10*9/L     0.92++      0.04 - 0.40
+Basophils             %           20
+Basophils             x10*9/L     0.92+++     <0.21
+      
+

Acme Laboratory, Inc signed: Dr Pete Pathologist

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + </presentedForm> +</DiagnosticReport> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json new file mode 100644 index 000000000..5bd2f19c9 --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json @@ -0,0 +1,113 @@ +{ + "resourceType": "NutritionOrder", + "id": "NutritionOrder", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: pureeddiet</p><p><b>identifier</b>: 123</p><p><b>status</b>: active</p><p><b>patient</b>: <a>Peter Chalmers</a></p><p><b>encounter</b>: <a>Inpatient</a></p><p><b>dateTime</b>: 17/09/2014</p><p><b>orderer</b>: <a>Dr Adam Careful</a></p><p><b>allergyIntolerance</b>: <a>Cashew Nuts</a></p><p><b>foodPreferenceModifier</b>: Dairy Free <span>(Details : {http://hl7.org/fhir/diet code 'dairy-free' = 'Dairy Free)</span></p><p><b>excludeFoodModifier</b>: Cashew Nut <span>(Details : {SNOMED CT code '227493005' = 'Cashew nuts', given as 'Cashew Nut'})</span></p><blockquote><p><b>oralDiet</b></p><p><b>type</b>: Pureed diet <span>(Details : {SNOMED CT code '226211001' = 'Pureed diet', given as 'Pureed diet'}; {http://goodhealthhospital.org/diet-type-codes code '1010' = '1010', given as 'Pureed diet'})</span></p><p><b>schedule</b>: Starting 10/02/2015, Do 3 per 1 days</p><h3>Textures</h3><table><tr><td>-</td><td><b>Modifier</b></td></tr><tr><td>*</td><td>Pureed <span>(Details : {SNOMED CT code '228055009' = 'Liquidized food', given as 'Liquidized food'})</span></td></tr></table><p><b>fluidConsistencyType</b>: Nectar thick liquids <span>(Details : {SNOMED CT code '439021000124105' = 'Dietary liquid consistency - nectar thick liquid (regime/therapy)', given as 'Dietary liquid consistency - nectar thick liquid'})</span></p></blockquote></div>" + }, + "identifier": [ + { + "system": "http://goodhealthhospital.org/nutrition-requests", + "value": "123" + } + ], + "status": "active", + "patient": { + "reference": "Patient/example", + "display": "Peter Chalmers" + }, + "encounter": { + "reference": "Encounter/example", + "display": "Inpatient" + }, + "dateTime": "2014-09-17", + "orderer": { + "reference": "Practitioner/example", + "display": "Dr Adam Careful" + }, + "allergyIntolerance": [ + { + "reference": "AllergyIntolerance/example", + "display": "Cashew Nuts" + } + ], + "foodPreferenceModifier": [ + { + "coding": [ + { + "system": "http://hl7.org/fhir/diet", + "code": "dairy-free" + } + ] + } + ], + "excludeFoodModifier": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "20140730", + "code": "227493005", + "display": "Cashew Nut" + } + ] + } + ], + "oralDiet": { + "type": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "226211001", + "display": "Pureed diet" + }, + { + "system": "http://goodhealthhospital.org/diet-type-codes", + "code": "1010", + "display": "Pureed diet" + } + ], + "text": "Pureed diet" + } + ], + "schedule": [ + { + "repeat": { + "boundsPeriod": { + "start": "2015-02-10" + }, + "frequency": 3, + "period": 1, + "periodUnit": "d" + } + } + ], + "texture": [ + { + "modifier": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "228055009", + "display": "Liquidized food" + } + ], + "text": "Pureed" + } + } + ], + "fluidConsistencyType": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "439021000124105", + "display": "Dietary liquid consistency - nectar thick liquid" + } + ], + "text": "Nectar thick liquids" + } + ] + } + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.xml new file mode 100644 index 000000000..3913d0c16 --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.xml @@ -0,0 +1,184 @@ +<NutritionOrder xmlns="http://hl7.org/fhir"> + <!-- Using only instruction element in oralDiet and Supplement minimal other elements id + = pureeddiet-simple file name = nutritionorder-example-pureeddiet-simple.xml Name= Pureed + Diet Simple Description = Nutrition Order Pureed Diet with Energy/Protein Supplement Simple + Example + edited by Eric Haas Health eData Inc + --> + <!-- EH: use oral Diet element --> + <id value="NutritionOrder" /> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml"> + <p> + <b> Generated Narrative with Details</b> + </p> + <p> + <b> id</b> + : pureeddiet-simple + </p> + <p> + <b> identifier</b> + : 123 + </p> + <p> + <b> status</b> + : active + </p> + <p> + <b> patient</b> + : + <a> Peter Chalmers</a> + </p> + <p> + <b> dateTime</b> + : 17/09/2014 + </p> + <p> + <b> orderer</b> + : + <a> Dr Adam Careful</a> + </p> + <blockquote> + <p> + <b> oralDiet</b> + </p> + <p> + <b> type</b> + : Pureed diet + <span> (Details : {SNOMED CT code '226211001' = 'Pureed diet', given as 'Pureed diet'}; {http://goodhealthh + ospital.org/diet-type-codes code '1010' = '1010', given as 'Pureed diet'})</span> + </p> + <p> + <b> schedule</b> + : Starting 10/02/2015, Do 3 per 1 days + </p> + <h3> Textures</h3> + <table> + <tr> + <td> -</td> + <td> + <b> Modifier</b> + </td> + </tr> + <tr> + <td> *</td> + <td> + Pureed + <span> (Details : {SNOMED CT code '228055009' = 'Liquidized food', given as 'Liquidized food'})</span> + </td> + </tr> + </table> + <p> + <b> fluidConsistencyType</b> + : Nectar thick liquids + <span> (Details : {SNOMED CT code '439021000124105' = 'Dietary liquid consistency - nectar thick + liquid (regime/therapy)', given as 'Dietary liquid consistency - nectar thick liquid'})</span> + </p> + </blockquote> + <h3> Supplements</h3> + <table> + <tr> + <td> -</td> + <td> + <b> Type</b> + </td> + <td> + <b> ProductName</b> + </td> + <td> + <b> Instruction</b> + </td> + </tr> + <tr> + <td> *</td> + <td> + Adult high energy pudding + <span> (Details : {SNOMED CT code '442971000124100' = 'Adult high energy formula (product)', + given as 'Adult high energy formula'}; {http://goodhealthhospital.org/supplement-type-codes + code '1040' = '1040', given as 'Adult high energy pudding'})</span> + </td> + <td> Ensure Pudding 4 oz container</td> + <td> Ensure Pudding at breakfast, lunch, supper</td> + </tr> + </table> + </div> + </text> + <identifier> + <system value="http://goodhealthhospital.org/nutrition-requests" /> + <value value="123" /> + </identifier> + <status value="active" /> + <patient> + <reference value="Patient/example" /> + <display value="Peter Chalmers" /> + </patient> + <dateTime value="2014-09-17" /> + <orderer> + <reference value="Practitioner/example" /> + <display value="Dr Adam Careful" /> + </orderer> + <oralDiet> + <!-- EH: list type of diet showing standard code and local codes --> + <type> + <coding> + <system value="http://snomed.info/sct" /> + <code value="226211001" /> + <display value="Pureed diet" /> + </coding> + <coding> + <system value="http://goodhealthhospital.org/diet-type-codes" /> + <code value="1010" /> + <display value="Pureed diet" /> + </coding> + <text value="Pureed diet" /> + </type> + <!-- EH example of three times a day starting on 2/10 --> + <schedule> + <repeat> + <boundsPeriod> + <start value="2015-02-10" /> + </boundsPeriod> + <frequency value="3" /> + <period value="1" /> + <periodUnit value="d" /> + </repeat> + </schedule> + <texture> + <modifier> + <coding> + <system value="http://snomed.info/sct" /> + <code value="228055009" /> + <display value="Liquidized food" /> + </coding> + <text value="Pureed" /> + </modifier> + </texture> + <fluidConsistencyType> + <coding> + <system value="http://snomed.info/sct" /> + <code value="439021000124105" /> + <display value="Dietary liquid consistency - nectar thick liquid" /> + </coding> + <text value="Nectar thick liquids" /> + </fluidConsistencyType> + </oralDiet> + <supplement> + <type> + <coding> + <system value="http://snomed.info/sct" /> + <code value="442971000124100" /> + <display value="Adult high energy formula" /> + </coding> + <coding> + <system value="http://goodhealthhospital.org/supplement-type-codes" /> + <code value="1040" /> + <display value="Adult high energy pudding" /> + </coding> + <text value="Adult high energy pudding" /> + </type> + <productName value="Ensure Pudding 4 oz container" /> + <!-- EH: Instructions to supplement too --> + <instruction value="Ensure Pudding at breakfast, lunch, supper" /> + </supplement> +</NutritionOrder> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json new file mode 100644 index 000000000..547b86232 --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json @@ -0,0 +1,166 @@ +{ + "resourceType": "Questionnaire", + "id": "Questionnaire", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <pre>\n 1.Comorbidity?\n 1.1 Cardial Comorbidity\n 1.1.1 Angina?\n 1.1.2 MI?\n 1.2 Vascular Comorbidity?\n ...\n Histopathology\n Abdominal\n pT category?\n ...\n </pre>\n </div>" + }, + "url": "http://hl7.org/fhir/Questionnaire/3141", + "title": "Cancer Quality Forum Questionnaire 2012", + "status": "draft", + "date": "2012-01", + "subjectType": [ + "Patient" + ], + "item": [ + { + "linkId": "1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "COMORBIDITY" + } + ], + "type": "group", + "item": [ + { + "linkId": "1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORB" + } + ], + "prefix": "1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + }, + "item": [ + { + "linkId": "1.1.1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "CARDIAL" + } + ], + "type": "group", + "enableWhen": [ + { + "question": "1.1", + "answerCoding": { + "system": "http://hl7.org/fhir/v2/0136", + "code": "Y" + } + } + ], + "item": [ + { + "linkId": "1.1.1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORBCAR" + } + ], + "prefix": "1.1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + }, + "item": [ + { + "linkId": "1.1.1.1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMCAR00", + "display": "Angina Pectoris" + }, + { + "system": "http://snomed.info/sct", + "code": "194828000", + "display": "Angina (disorder)" + } + ], + "prefix": "1.1.1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + } + }, + { + "linkId": "1.1.1.1.2", + "code": [ + { + "system": "http://snomed.info/sct", + "code": "22298006", + "display": "Myocardial infarction (disorder)" + } + ], + "prefix": "1.1.2", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + } + } + ] + }, + { + "linkId": "1.1.1.2", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORBVAS" + } + ], + "prefix": "1.2", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + } + } + ] + } + ] + } + ] + }, + { + "linkId": "2", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "HISTOPATHOLOGY" + } + ], + "type": "group", + "item": [ + { + "linkId": "2.1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "ABDOMINAL" + } + ], + "type": "group", + "item": [ + { + "linkId": "2.1.2", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "STADPT", + "display": "pT category" + } + ], + "type": "choice" + } + ] + } + ] + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml new file mode 100644 index 000000000..5da84c398 --- /dev/null +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml @@ -0,0 +1,133 @@ +<Questionnaire xmlns="http://hl7.org/fhir"> + <id value="Questionnaire"/> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml"> + <pre> + <b> Birth details - To be completed by health professional</b> + Name of child: ____________________________________ + Sex: __ + + Neonatal Information + Birth Weight (kg): ___________ + Birth Length (cm): ___________ + Vitamin K given : __ + 1st dose: ___________ + 2nd dose: ___________ + Hep B given : __ + Date given : ___________ + Abnormalities noted at birth: + _______________________________________________ + </pre> + </div> + </text> + <url value="http://hl7.org/fhir/Questionnaire/bb"/> + <title value="NSW Government My Personal Health Record"/> + <status value="draft"/> + <date value="2013-02-19"/> + <publisher value="New South Wales Department of Health"/> + <jurisdiction> + <coding> + <system value="urn:iso:std:iso:3166"/> + <code value="AU"/> + </coding> + </jurisdiction> + <subjectType value="Patient"/> + <item> + <linkId value="birthDetails"/> + <text value="Birth details - To be completed by health professional"/> + <type value="group"/> + <item> + <linkId value="group"/> + <type value="group"/> + <item> + <linkId value="nameOfChild"/> + <text value="Name of child"/> + <type value="string"/> + </item> + <item> + <linkId value="sex"/> + <text value="Sex"/> + <type value="choice"/> + <option> + <valueCoding> + <code value="F"/> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="M"/> + </valueCoding> + </option> + </item> + </item> + <item> + <linkId value="neonatalInformation"/> + <text value="Neonatal Information"/> + <type value="group"/> + <item> + <linkId value="birthWeight"/> + <text value="Birth weight (kg)"/> + <type value="decimal"/> + </item> + <item> + <linkId value="birthLength"/> + <text value="Birth length (cm)"/> + <type value="decimal"/> + </item> + <item> + <linkId value="vitaminKgiven"/> + <text value="Vitamin K given"/> + <type value="choice"/> + <option> + <valueCoding> + <code value="INJECTION"/> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="INTRAVENOUS"/> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="ORAL"/> + </valueCoding> + </option> + <item> + <linkId value="vitaminKgivenDoses"/> + <type value="group"/> + <enableWhen> + <question value="vitaminKgiven"/> + <hasAnswer value="true"/> + </enableWhen> + <item> + <linkId value="vitaminiKDose1"/> + <text value="1st dose"/> + <type value="dateTime"/> + </item> + <item> + <linkId value="vitaminiKDose2"/> + <text value="2nd dose"/> + <type value="dateTime"/> + </item> + </item> + </item> + <item> + <linkId value="hepBgiven"/> + <text value="Hep B given y / n"/> + <type value="boolean"/> + <item> + <linkId value="hepBgivenDate"/> + <text value="Date given"/> + <type value="date"/> + </item> + </item> + <item> + <linkId value="abnormalitiesAtBirth"/> + <text value="Abnormalities noted at birth"/> + <type value="string"/> + </item> + </item> + </item> + </Questionnaire> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json new file mode 100644 index 000000000..96f45436d --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json @@ -0,0 +1,166 @@ +{ + "resourceType": "CodeSystem", + "id": "CodeSystem", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <h2>NHIN PurposeOfUse</h2>\n <div>\n <p>This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.</p>\n\n </div>\n <p>This code system http://healthit.gov/nhin/purposeofuse defines the following codes:</p>\n <table class=\"codes\">\n <tr>\n <td style=\"white-space:nowrap\">\n <b>Code</b>\n </td>\n <td>\n <b>Display</b>\n </td>\n <td>\n <b>Definition</b>\n </td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TREATMENT\n <a name=\"nhin-purposeofuse-TREATMENT\"> </a>\n </td>\n <td>Treatment</td>\n <td>Treatment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PAYMENT\n <a name=\"nhin-purposeofuse-PAYMENT\"> </a>\n </td>\n <td>Payment</td>\n <td>Payment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OPERATIONS\n <a name=\"nhin-purposeofuse-OPERATIONS\"> </a>\n </td>\n <td>Operations</td>\n <td>Healthcare Operations</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">SYSADMIN\n <a name=\"nhin-purposeofuse-SYSADMIN\"> </a>\n </td>\n <td>Sysadmin</td>\n <td>System Administration</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FRAUD\n <a name=\"nhin-purposeofuse-FRAUD\"> </a>\n </td>\n <td>Fraud</td>\n <td>Fraud detection</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PSYCHOTHERAPY\n <a name=\"nhin-purposeofuse-PSYCHOTHERAPY\"> </a>\n </td>\n <td>Psychotherapy</td>\n <td>Use or disclosure of Psychotherapy Notes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TRAINING\n <a name=\"nhin-purposeofuse-TRAINING\"> </a>\n </td>\n <td>Training</td>\n <td>Use or disclosure by the covered entity for its own training programs</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LEGAL\n <a name=\"nhin-purposeofuse-LEGAL\"> </a>\n </td>\n <td>Legal</td>\n <td>Use or disclosure by the covered entity to defend itself in a legal action</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">MARKETING\n <a name=\"nhin-purposeofuse-MARKETING\"> </a>\n </td>\n <td>Marketing</td>\n <td>Marketing</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DIRECTORY\n <a name=\"nhin-purposeofuse-DIRECTORY\"> </a>\n </td>\n <td>Directory</td>\n <td>Use and disclosure for facility directories</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FAMILY\n <a name=\"nhin-purposeofuse-FAMILY\"> </a>\n </td>\n <td>Family</td>\n <td>Disclose to a family member, other relative, or a close personal friend of the individual</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PRESENT\n <a name=\"nhin-purposeofuse-PRESENT\"> </a>\n </td>\n <td>Present</td>\n <td>Uses and disclosures with the individual present.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">EMERGENCY\n <a name=\"nhin-purposeofuse-EMERGENCY\"> </a>\n </td>\n <td>Emergency</td>\n <td>Permission cannot practicably be provided because of the individual's incapacity or an emergency.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DISASTER\n <a name=\"nhin-purposeofuse-DISASTER\"> </a>\n </td>\n <td>Disaster</td>\n <td>Use and disclosures for disaster relief purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PUBLICHEALTH\n <a name=\"nhin-purposeofuse-PUBLICHEALTH\"> </a>\n </td>\n <td>Public Health</td>\n <td>Uses and disclosures for public health activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">ABUSE\n <a name=\"nhin-purposeofuse-ABUSE\"> </a>\n </td>\n <td>Abuse</td>\n <td>Disclosures about victims of abuse, neglect or domestic violence.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OVERSIGHT\n <a name=\"nhin-purposeofuse-OVERSIGHT\"> </a>\n </td>\n <td>Oversight</td>\n <td>Uses and disclosures for health oversight activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">JUDICIAL\n <a name=\"nhin-purposeofuse-JUDICIAL\"> </a>\n </td>\n <td>Judicial</td>\n <td>Disclosures for judicial and administrative proceedings.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LAW\n <a name=\"nhin-purposeofuse-LAW\"> </a>\n </td>\n <td>Law Enforcement</td>\n <td>Disclosures for law enforcement purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DECEASED\n <a name=\"nhin-purposeofuse-DECEASED\"> </a>\n </td>\n <td>Deceased</td>\n <td>Uses and disclosures about decedents.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DONATION\n <a name=\"nhin-purposeofuse-DONATION\"> </a>\n </td>\n <td>Donation</td>\n <td>Uses and disclosures for cadaveric organ, eye or tissue donation purposes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">RESEARCH\n <a name=\"nhin-purposeofuse-RESEARCH\"> </a>\n </td>\n <td>Research</td>\n <td>Uses and disclosures for research purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">THREAT\n <a name=\"nhin-purposeofuse-THREAT\"> </a>\n </td>\n <td>Threat</td>\n <td>Uses and disclosures to avert a serious threat to health or safety.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">GOVERNMENT\n <a name=\"nhin-purposeofuse-GOVERNMENT\"> </a>\n </td>\n <td>Government</td>\n <td>Uses and disclosures for specialized government functions.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">WORKERSCOMP\n <a name=\"nhin-purposeofuse-WORKERSCOMP\"> </a>\n </td>\n <td>Worker's Comp</td>\n <td>Disclosures for workers' compensation.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">COVERAGE\n <a name=\"nhin-purposeofuse-COVERAGE\"> </a>\n </td>\n <td>Coverage</td>\n <td>Disclosures for insurance or disability coverage determination</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">REQUEST\n <a name=\"nhin-purposeofuse-REQUEST\"> </a>\n </td>\n <td>Request</td>\n <td>Request of the Individual</td>\n </tr>\n </table>\n </div>" + }, + "url": "http://healthit.gov/nhin/purposeofuse", + "version": "2.0", + "name": "NHIN PurposeOfUse", + "status": "active", + "experimental": false, + "date": "2010-01-29", + "publisher": "Nationwide Health Information Network (NHIN)", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "https://www.healthit.gov/sites/default/files/nhin-authorization-framework-production-specification-v2.0-1.pdf" + } + ] + } + ], + "description": "This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.", + "caseSensitive": true, + "valueSet": "http://hl7.org/fhir/ValueSet/nhin-purposeofuse", + "content": "complete", + "concept": [ + { + "code": "TREATMENT", + "display": "Treatment", + "definition": "Treatment" + }, + { + "code": "PAYMENT", + "display": "Payment", + "definition": "Payment" + }, + { + "code": "OPERATIONS", + "display": "Operations", + "definition": "Healthcare Operations" + }, + { + "code": "SYSADMIN", + "display": "Sysadmin", + "definition": "System Administration" + }, + { + "code": "FRAUD", + "display": "Fraud", + "definition": "Fraud detection" + }, + { + "code": "PSYCHOTHERAPY", + "display": "Psychotherapy", + "definition": "Use or disclosure of Psychotherapy Notes" + }, + { + "code": "TRAINING", + "display": "Training", + "definition": "Use or disclosure by the covered entity for its own training programs" + }, + { + "code": "LEGAL", + "display": "Legal", + "definition": "Use or disclosure by the covered entity to defend itself in a legal action" + }, + { + "code": "MARKETING", + "display": "Marketing", + "definition": "Marketing" + }, + { + "code": "DIRECTORY", + "display": "Directory", + "definition": "Use and disclosure for facility directories" + }, + { + "code": "FAMILY", + "display": "Family", + "definition": "Disclose to a family member, other relative, or a close personal friend of the individual" + }, + { + "code": "PRESENT", + "display": "Present", + "definition": "Uses and disclosures with the individual present." + }, + { + "code": "EMERGENCY", + "display": "Emergency", + "definition": "Permission cannot practicably be provided because of the individual's incapacity or an emergency." + }, + { + "code": "DISASTER", + "display": "Disaster", + "definition": "Use and disclosures for disaster relief purposes." + }, + { + "code": "PUBLICHEALTH", + "display": "Public Health", + "definition": "Uses and disclosures for public health activities." + }, + { + "code": "ABUSE", + "display": "Abuse", + "definition": "Disclosures about victims of abuse, neglect or domestic violence." + }, + { + "code": "OVERSIGHT", + "display": "Oversight", + "definition": "Uses and disclosures for health oversight activities." + }, + { + "code": "JUDICIAL", + "display": "Judicial", + "definition": "Disclosures for judicial and administrative proceedings." + }, + { + "code": "LAW", + "display": "Law Enforcement", + "definition": "Disclosures for law enforcement purposes." + }, + { + "code": "DECEASED", + "display": "Deceased", + "definition": "Uses and disclosures about decedents." + }, + { + "code": "DONATION", + "display": "Donation", + "definition": "Uses and disclosures for cadaveric organ, eye or tissue donation purposes" + }, + { + "code": "RESEARCH", + "display": "Research", + "definition": "Uses and disclosures for research purposes." + }, + { + "code": "THREAT", + "display": "Threat", + "definition": "Uses and disclosures to avert a serious threat to health or safety." + }, + { + "code": "GOVERNMENT", + "display": "Government", + "definition": "Uses and disclosures for specialized government functions." + }, + { + "code": "WORKERSCOMP", + "display": "Worker's Comp", + "definition": "Disclosures for workers' compensation." + }, + { + "code": "COVERAGE", + "display": "Coverage", + "definition": "Disclosures for insurance or disability coverage determination" + }, + { + "code": "REQUEST", + "display": "Request", + "definition": "Request of the Individual" + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml new file mode 100644 index 000000000..adc543450 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<CodeSystem xmlns="http://hl7.org/fhir"> + <id value="CodeSystem"/> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h2> Code system summary example for ACME body sites</h2> + <div> + <p> This is an example code system summary for the ACME codes for body site.</p> + + </div> + <p> This code system http://hl7.org/fhir/CodeSystem/summary defines many codes, but they are + not represented here</p> + </div> + </text> + <url value="http://hl7.org/fhir/CodeSystem/summary"/> + <version value="4.0.1"/> + <name value="Code system summary example for ACME body sites"/> + <status value="draft"/> + <experimental value="true"/> + <publisher value="HL7 International"/> + <contact> + <name value="FHIR project team"/> + <telecom> + <system value="url"/> + <value value="http://hl7.org/fhir"/> + </telecom> + </contact> + <description value="This is an example code system summary for the ACME codes for body site."/> + <useContext> + <code> + <system value="http://example.org/CodeSystem/contexttype"/> + <code value="species"/> + </code> + <valueCodeableConcept> + <coding> + <system value="http://snomed.info/sct"/> + <code value="337915000"/> + <display value="Homo sapiens (organism)"/> + </coding> + </valueCodeableConcept> + </useContext> + <jurisdiction> + <coding> + <system value="urn:iso:std:iso:3166"/> + <code value="CA"/> + </coding> + </jurisdiction> + <caseSensitive value="true"/> + <content value="not-present"/> + <count value="92"/> +</CodeSystem> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json new file mode 100644 index 000000000..ea36425a2 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json @@ -0,0 +1,120 @@ +{ + "resourceType": "Observation", + "id": "Observation", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/vitalsigns" + ] + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: blood-pressure-dar</p><p><b>meta</b>: </p><p><b>identifier</b>: urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281</p><p><b>status</b>: final</p><p><b>category</b>: Vital Signs <span>(Details : {http://terminology.hl7.org/CodeSystem/observation-category code 'vital-signs' = 'Vital Signs', given as 'Vital Signs'})</span></p><p><b>code</b>: Blood pressure systolic & diastolic <span>(Details : {LOINC code '85354-9' = 'Blood pressure panel with all children optional', given as 'Blood pressure panel with all children optional'})</span></p><p><b>subject</b>: <a>Patient/example</a></p><p><b>effective</b>: 17/09/2012</p><p><b>performer</b>: <a>Practitioner/example</a></p><p><b>interpretation</b>: Below low normal <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation code 'L' = 'Low', given as 'low'})</span></p><p><b>bodySite</b>: Right arm <span>(Details : {SNOMED CT code '368209003' = 'Right upper arm', given as 'Right arm'})</span></p><blockquote><p><b>component</b></p><p><b>code</b>: Systolic blood pressure <span>(Details : {LOINC code '8480-6' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {SNOMED CT code '271649006' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {http://acme.org/devices/clinical-codes code 'bp-s' = 'bp-s', given as 'Systolic Blood pressure'})</span></p><p><b>value</b>: 107 mmHg<span> (Details: UCUM code mm[Hg] = 'mmHg')</span></p></blockquote><blockquote><p><b>component</b></p><p><b>code</b>: Diastolic blood pressure <span>(Details : {LOINC code '8462-4' = 'Diastolic blood pressure', given as 'Diastolic blood pressure'})</span></p><p><b>dataAbsentReason</b>: Not Performed <span>(Details : {http://terminology.hl7.org/CodeSystem/data-absent-reason code 'not-performed' = 'Not Performed', given as 'Not Performed'})</span></p></blockquote></div>" + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281" + } + ], + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs", + "display": "Vital Signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "85354-9", + "display": "Blood pressure panel with all children optional" + } + ], + "text": "Blood pressure systolic & diastolic" + }, + "subject": { + "reference": "Patient/example" + }, + "effectiveDateTime": "2012-09-17", + "performer": [ + { + "reference": "Practitioner/example" + } + ], + "interpretation": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code": "L", + "display": "low" + } + ], + "text": "Below low normal" + } + ], + "bodySite": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "368209003", + "display": "Right arm" + } + ] + }, + "component": [ + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8480-6", + "display": "Systolic blood pressure" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006", + "display": "Systolic blood pressure" + }, + { + "system": "http://acme.org/devices/clinical-codes", + "code": "bp-s", + "display": "Systolic Blood pressure" + } + ] + }, + "valueQuantity": { + "value": 107, + "unit": "mmHg", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]" + } + }, + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4", + "display": "Diastolic blood pressure" + } + ] + }, + "dataAbsentReason": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-performed", + "display": "Not Performed" + } + ] + } + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml new file mode 100644 index 000000000..0622aaf14 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<Observation xmlns="http://hl7.org/fhir"> + <id value="Observation"/> + <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative with Details</b> </p> <p> <b> id</b> : 656</p> <p> <b> identifier</b> : patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820</p> <p> <b> status</b> : final</p> <p> <b> code</b> : MDC_FLOW_AWAY_EXP_FORCED_PEAK <span> (Details : {urn:iso:std:iso:11073:10101 code '152584' = '152584', given as 'MDC_FLOW_AWAY_EXP_FORCED + _PEAK'})</span> </p> <p> <b> subject</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> effective</b> : 03/05/2017 3:54:26 PM</p> <p> <b> performer</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> value</b> : 820 cL/s<span> (Details: urn:iso:std:iso:11073:10101 code 265201 = '265201')</span> </p> </div> </text> <identifier> + <value value="patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820"/> + </identifier> + <status value="final"/> + <code> + <coding> + <system value="urn:iso:std:iso:11073:10101"/> + <code value="152584"/> + <display value="MDC_FLOW_AWAY_EXP_FORCED_PEAK"/> + </coding> + </code> + <subject> + <reference value="Patient/PatientId-patientId"/> + </subject> + <effectiveDateTime value="2017-05-03T15:54:26-04:00"/> + <performer> + <reference value="Patient/PatientId-patientId"/> + </performer> + <valueQuantity> + <value value="820"/> + <unit value="cL/s"/> + <system value="urn:iso:std:iso:11073:10101"/> + <code value="265201"/> + </valueQuantity> + <!-- - +Removed the .related type qualified-by - if needed would be an extension + + <related> + <type value="qualified-by"/> + <target> + <identifier> + <value value="3.14159.20170619185932"/> + </identifier> + </target> + </related> + --> +</Observation> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json new file mode 100644 index 000000000..c194bcf0d --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json @@ -0,0 +1,24 @@ +{ + "resourceType": "OperationOutcome", + "id": "OperationOutcome", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <p>The code "W" is not known and not legal Patient.gender.</p>\n </div>" + }, + "issue": [ + { + "severity": "error", + "code": "code-invalid", + "details": { + "text": "The code \"W\" is not known and not legal in this context" + }, + "diagnostics": "Acme.Interop.FHIRProcessors.Patient.processGender line 2453", + "location": [ + "/f:Patient/f:gender" + ], + "expression": [ + "Patient.gender" + ] + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml new file mode 100644 index 000000000..8cce5dad6 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<OperationOutcome xmlns="http://hl7.org/fhir"> + <id value="OperationOutcome"/> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml"> + <p> All OK</p> + </div> + </text> + <issue> + <severity value="information"/> + <code value="informational"/> + <details> + <text value="All OK"/> + </details> + </issue> +</OperationOutcome> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json new file mode 100644 index 000000000..de4fc039e --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json @@ -0,0 +1,116 @@ +{ + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f001</p><p><b>identifier</b>: 738472983 (USUAL), ?? (USUAL)</p><p><b>active</b>: true</p><p><b>name</b>: Pieter van de Heuvel </p><p><b>telecom</b>: ph: 0648352638(MOBILE), p.heuvel@gmail.com(HOME)</p><p><b>gender</b>: male</p><p><b>birthDate</b>: 17/11/1944</p><p><b>deceased</b>: false</p><p><b>address</b>: Van Egmondkade 23 Amsterdam 1024 RJ NLD (HOME)</p><p><b>maritalStatus</b>: Getrouwd <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-MaritalStatus code 'M' = 'Married', given as 'Married'})</span></p><p><b>multipleBirth</b>: true</p><h3>Contacts</h3><table><tr><td>-</td><td><b>Relationship</b></td><td><b>Name</b></td><td><b>Telecom</b></td></tr><tr><td>*</td><td>Emergency Contact <span>(Details : {http://terminology.hl7.org/CodeSystem/v2-0131 code 'C' = 'Emergency Contact)</span></td><td>Sarah Abels </td><td>ph: 0690383372(MOBILE)</td></tr></table><h3>Communications</h3><table><tr><td>-</td><td><b>Language</b></td><td><b>Preferred</b></td></tr><tr><td>*</td><td>Nederlands <span>(Details : {urn:ietf:bcp:47 code 'nl' = 'Dutch', given as 'Dutch'})</span></td><td>true</td></tr></table><p><b>managingOrganization</b>: <a>Burgers University Medical Centre</a></p></div>" + }, + "identifier": [ + { + "use": "usual", + "system": "urn:oid:2.16.840.1.113883.2.4.6.3", + "value": "738472983" + }, + { + "use": "usual", + "system": "urn:oid:2.16.840.1.113883.2.4.6.3" + } + ], + "active": true, + "name": [ + { + "use": "usual", + "family": "van de Heuvel", + "given": [ + "Pieter" + ], + "suffix": [ + "MSc" + ] + } + ], + "telecom": [ + { + "system": "phone", + "value": "0648352638", + "use": "mobile" + }, + { + "system": "email", + "value": "p.heuvel@gmail.com", + "use": "home" + } + ], + "gender": "male", + "birthDate": "1944-11-17", + "deceasedBoolean": false, + "address": [ + { + "use": "home", + "line": [ + "Van Egmondkade 23" + ], + "city": "Amsterdam", + "postalCode": "1024 RJ", + "country": "NLD" + } + ], + "maritalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus", + "code": "M", + "display": "Married" + } + ], + "text": "Getrouwd" + }, + "multipleBirthBoolean": true, + "contact": [ + { + "relationship": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0131", + "code": "C" + } + ] + } + ], + "name": { + "use": "usual", + "family": "Abels", + "given": [ + "Sarah" + ] + }, + "telecom": [ + { + "system": "phone", + "value": "0690383372", + "use": "mobile" + } + ] + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "nl", + "display": "Dutch" + } + ], + "text": "Nederlands" + }, + "preferred": true + } + ], + "managingOrganization": { + "reference": "Organization/f001", + "display": "Burgers University Medical Centre" + } + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml new file mode 100644 index 000000000..93f5c6c4a --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<Patient xmlns="http://hl7.org/fhir"> + <id value="Patient"/> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml"> + + <p> Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p> + + </div> + </text> + <identifier> + <use value="usual"/> + <type> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/> + <code value="MR"/> + </coding> + </type> + <system value="urn:oid:0.1.2.3.4.5.6.7"/> + <value value="654321"/> + </identifier> + <active value="true"/> + <name> + <use value="official"/> + <family value="Donald"/> + <given value="Duck"/> + </name> + <gender value="male"/> + <photo> + <contentType value="image/gif"/> + <data value="R0lGODlhEwARAPcAAAAAAAAA/+9aAO+1AP/WAP/eAP/eCP/eEP/eGP/nAP/nCP/nEP/nIf/nKf/nUv/nWv/vAP/vCP/vEP/vGP/v + If/vKf/vMf/vOf/vWv/vY//va//vjP/3c//3lP/3nP//tf//vf/////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////yH5BAEAAAEALAAAAAATABEAAAi+AAMIDDCgYMGBCBMSvMCQ4QCFCQcwDBGCA4cLDyEGEC + DxAoAQHjxwyKhQAMeGIUOSJJjRpIAGDS5wCDly4AALFlYOgHlBwwOSNydM0AmzwYGjBi8IHWoTgQYORg8QIGDAwAKhESI8HIDgwQa + RDI1WXXAhK9MBBzZ8/XDxQoUFZC9IiCBh6wEHGz6IbNuwQoSpWxEgyLCXL8O/gAnylNlW6AUEBRIL7Og3KwQIiCXb9HsZQoIEUzUj + NEiaNMKAAAA7"/> + </photo> + <contact> + <relationship> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0131"/> + <code value="E"/> + </coding> + </relationship> + <organization> + <reference value="Organization/1"/> + <display value="Walt Disney Corporation"/> + </organization> + </contact> + <managingOrganization> + <reference value="Organization/1"/> + <display value="ACME Healthcare, Inc"/> + </managingOrganization> + <link> + <other> + <reference value="Patient/pat2"/> + </other> + <type value="seealso"/> + </link> +</Patient> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json new file mode 100644 index 000000000..31cb970ec --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json @@ -0,0 +1,243 @@ +{ + "resourceType": "Bundle", + "id": "Bundle", + "type": "collection", + "entry": [ + { + "fullUrl": "http://example.org/fhir/Patient/23", + "resource": { + "resourceType": "Patient", + "id": "23", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown ( id: 1234567)</p></div>" + }, + "identifier": [ + { + "system": "http://example.org/ids", + "value": "1234567" + } + ] + } + }, + { + "fullUrl": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d", + "resource": { + "resourceType": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown</p></div>" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/123", + "resource": { + "resourceType": "Observation", + "id": "123", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "123" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "Patient/23" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/124", + "resource": { + "resourceType": "Observation", + "id": "124", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "124" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir/Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "http://example.org/fhir/Patient/23" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/12", + "resource": { + "resourceType": "Observation", + "id": "12", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "12" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/14", + "resource": { + "resourceType": "Observation", + "id": "14", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir-2/Patient/1</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "http://example.org/fhir-2/Patient/1" + } + } + }, + { + "fullUrl": "http://example.org/fhir-2/Observation/14", + "resource": { + "resourceType": "Observation", + "id": "14", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "Patient/23" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Patient/45", + "resource": { + "resourceType": "Patient", + "id": "45", + "meta": { + "versionId": "1" + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 1</b> (no stated gender), DoB Unknown</p></div>" + }, + "name": [ + { + "text": "Name 1" + } + ] + } + }, + { + "fullUrl": "http://example.org/fhir/Patient/45", + "resource": { + "resourceType": "Patient", + "id": "45", + "meta": { + "versionId": "2" + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 2</b> (no stated gender), DoB Unknown</p></div>" + }, + "name": [ + { + "text": "Name 2" + } + ] + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/47", + "resource": { + "resourceType": "Observation", + "id": "47", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "47" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/45/_history/2</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "Patient/45/_history/2" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/48", + "resource": { + "resourceType": "Observation", + "id": "48", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "48" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <span/></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "identifier": { + "system": "http://example.org/ids", + "value": "1234567" + } + } + } + } + ] + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml new file mode 100644 index 000000000..981f71a27 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<Bundle xmlns="http://hl7.org/fhir"> + <id value="Bundle"/> +<!-- this example bundle is a transaction response --> + <meta> + <lastUpdated value="2014-08-18T01:43:33Z"/> + <!-- when the transaction response was constructed --> + </meta> + <type value="transaction-response"/> +<!-- + one entry for each entry in the transaction, in order, with a + response + --> + <entry> + <fullUrl value="http://example.org/fhir/Patient/12423"/> + <resource> + <!-- response for the simple create operation --> + <!-- whether to return the result resource depends on client preference --> + <Patient> + <id value="12423"/> + <meta> + <versionId value="1"/> + <lastUpdated value="2014-08-18T01:43:31Z"/> + </meta> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true"/> + <name> + <use value="official"/> + <family value="Chalmers"/> + <given value="Peter"/> + <given value="James"/> + </name> + <gender value="male"/> + <birthDate value="1974-12-25"/> + </Patient> + </resource> + <!-- now, details about the action to take with the resource --> + <response> + <!-- important responses from the server --> + <status value="201 Created"/> + <location value="Patient/12423/_history/1"/> + <etag value="W/"1""/> + <lastModified value="2014-08-18T01:43:33Z"/> + <outcome> + <OperationOutcome> + <issue> + <severity value="warning"/> + <code value="not-found"/> + <details> + <text value="The Managing organization was not known and was deleted"/> + </details> + <expression value="Patient.managingOrganization"/> + </issue> + </OperationOutcome> + </outcome> + </response> + </entry> + <entry> + <!-- response to the conditional create operation --> + <!-- in this case, there was a match to the If-None-Exist header --> + <response> + <!-- no action taken --> + <status value="200 OK"/> + </response> + </entry> + <entry> + <!-- response to a simple update operation --> + <!-- no return resource for this example, though in a + real transaction, all entries would have a resource or all would not + --> + <response> + <status value="200 OK"/> + <location value="Patient/123/_history/4"/> + <etag value="W/"4""/> + </response> + </entry> + <entry> + <!-- response to the conditional update operation --> + <response> + <!-- created a new resource for this one --> + <status value="201 Created"/> + <location value="Patient/12424/_history/1"/> + <etag value="W/"1""/> + </response> + </entry> + <entry> + <!-- response to the 2nd conditional update operation --> + <response> + <!-- created a new resource for this one --> + <status value="200 ok"/> + <location value="Patient/123a/_history/3"/> + <etag value="W/"3""/> + </response> + </entry> + <entry> + <!-- response to the simple delete operation --> + <response> + <!-- successful deletion --> + <status value="202 Accepted"/> + </response> + </entry> + <entry> + <!-- response to the conditional delete operation --> + <response> + <!-- delete matching resource - but you can't find out what was deleted - an inherent limitation + in a condition delete --> + <status value="DELETE"/> + </response> + </entry> + <entry> + <fullUrl value="urn:uuid:7f9724ed-ef8d-4434-aacb-41869db83233"/> + <resource> + <!-- operation response --> + <Parameters> + <parameter> + <name value="name"/> + <valueString value="LOINC"/> + </parameter> + <!-- etc. --> + </Parameters> + </resource> + <response> + <!-- POST to [base]/ValueSet/$lookup - invoking a lookup operation (see Terminology Service) + --> + <status value="200 ok"/> + </response> + </entry> + <entry> + <fullUrl value="urn:uuid:e7bcef8e-5ef9-4d2b-87d5-b42b1eec9125"/> + <resource> + <!-- response to search --> + <Bundle> + <id value="fb6ed6cb-324e-4588-87cd-0c92c68986ca"/> + <type value="searchset"/> + <!-- etc. --> + </Bundle> + </resource> + <response> + <status value="200 OK"/> + </response> + </entry> + <entry> + <!-- response to conditional read - no changes --> + <response> + <status value="304 Not Modified"/> + </response> + </entry> +</Bundle> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.json b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.json new file mode 100644 index 000000000..b5466f5d2 --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.json @@ -0,0 +1,71 @@ +{ + "resourceType": "Observation", + "id": "Observation", + "text": { + "status": "extensions", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "example-genetics-1" </p></div><p><b>Gene</b>: EGFR <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/3.1.0/CodeSystem-v3-hgnc.html\">HUGO Gene Nomenclature</a>#3236)</span></p><p><b>DNARegionName</b>: Exon 21</p><p><b>GenomicSourceClass</b>: somatic <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#LA6684-0)</span></p><p><b>status</b>: final</p><p><b>code</b>: The material on this page will be removed in a future release. This content is deprecated and SHOULD NOT be used. Implementers are instead directed to the ([Genomics Reporting Implementation Guide](http://hl7.org/fhir/uv/genomics-reporting/index.html)) for guidance. Genetic analysis master panel-- This is the parent OBR for the panel holding all of the associated observations that can be reported with a molecular genetics analysis result. <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#55233-1)</span></p><p><b>subject</b>: <a href=\"patient-example.html\">Patient/example: Molecular Lab Patient ID: HOSP-23456</a> "Peter CHALMERS"</p><p><b>effective</b>: 2013-04-03T15:30:10+01:00</p><p><b>performer</b>: <a href=\"practitioner-example.html\">Practitioner/example: Molecular Diagnostics Laboratory</a> "Adam CAREFUL"</p><p><b>value</b>: Positive <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://browser.ihtsdotools.org/\">SNOMED CT</a>#10828004)</span></p><p><b>device</b>: <a href=\"device-example.html\">Device/example</a></p></div>" + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGene", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://www.genenames.org", + "code": "3236", + "display": "EGFR" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/observation-geneticsDNARegionName", + "valueString": "Exon 21" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/observation-geneticsGenomicSourceClass", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://loinc.org", + "code": "LA6684-0", + "display": "somatic" + } + ] + } + } + ], + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "55233-1", + "display": "The material on this page will be removed in a future release. This content is deprecated and SHOULD NOT be used. Implementers are instead directed to the ([Genomics Reporting Implementation Guide](http://hl7.org/fhir/uv/genomics-reporting/index.html)) for guidance. Genetic analysis master panel-- This is the parent OBR for the panel holding all of the associated observations that can be reported with a molecular genetics analysis result." + } + ] + }, + "subject": { + "reference": "Patient/example", + "display": "Molecular Lab Patient ID: HOSP-23456" + }, + "effectiveDateTime": "2013-04-03T15:30:10+01:00", + "performer": [ + { + "reference": "Practitioner/example", + "display": "Molecular Diagnostics Laboratory" + } + ], + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "10828004", + "display": "Positive" + } + ] + }, + "device": { + "reference": "Device/example" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml new file mode 100644 index 000000000..f2d91cb6b --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<Observation xmlns="http://hl7.org/fhir"> + <id value="Observation"/> <!-- urn:oid:2.16.840.1.113883.4.642.1.7 --><!-- 2.16.840.1.113883.4.642.1.118 --><text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative</b> </p> <div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px + solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">Resource "f001" </p> </div> <p> <b> identifier</b> : id: 6323 (OFFICIAL)</p> <p> <b> status</b> : final</p> <p> <b> code</b> : Glucose [Moles/volume] in Blood <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="https://loinc.org/">LOINC</a> #15074-8)</span> </p> <p> <b> subject</b> : <a href="patient-f001.html">Patient/f001: P. van de Heuvel</a> "Pieter VAN DE HEUVEL"</p> <p> <b> effective</b> : 2013-04-02T09:30:10+01:00 --> (ongoing)</p> <p> <b> issued</b> : 04/04/2013 1:30:10 AM</p> <p> <b> performer</b> : <a href="practitioner-f005.html">Practitioner/f005: A. Langeveld</a> "Langeveld ANNE"</p> <p> <b> value</b> : 6.3 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </p> <p> <b> interpretation</b> : High <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/3.1.0/CodeSystem-v3-ObservationInterpretation.html">ObservationInterpretation</a> #H)</span> </p> <h3> ReferenceRanges</h3> <table class="grid"><tr> <td> -</td> <td> <b> Low</b> </td> <td> <b> High</b> </td> </tr> <tr> <td> *</td> <td> 3.1 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> <td> 6.2 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> </tr> </table> </div> </text> <identifier> + <use value="official"/> + <system value="http://www.bmc.nl/zorgportal/identifiers/observations"/> + <value value="6323"/> + </identifier> + <status value="final"/> + <code> + <coding> + <system value="http://loinc.org"/> + <code value="15074-8"/> + <display value="Glucose [Moles/volume] in Blood"/> + </coding> + </code> + <subject> + <reference value="Patient/f001"/> + <display value="P. van de Heuvel"/> + </subject> + <effectivePeriod> + <start value="2013-04-02T09:30:10+01:00"/> + </effectivePeriod> + <issued value="2013-04-03T15:30:10+01:00"/> + <performer> + <reference value="Practitioner/f005"/> + <display value="A. Langeveld"/> + </performer> + <valueQuantity> + <value value="6.3"/> + <unit value="mmol/l"/> + <system value="http://unitsofmeasure.org"/> + <code value="mmol/L"/> + </valueQuantity> + <interpretation> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/> + <code value="H"/> + <display value="High"/> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="3.1"/> + <unit value="mmol/l"/> + <system value="http://unitsofmeasure.org"/> + <code value="mmol/L"/> + </low> + <high> + <value value="6.2"/> + <unit value="mmol/l"/> + <system value="http://unitsofmeasure.org"/> + <code value="mmol/L"/> + </high> + </referenceRange> +</Observation> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json new file mode 100644 index 000000000..8d3da9b6c --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json @@ -0,0 +1,112 @@ +{ + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n \n <table>\n \n <tbody>\n \n <tr>\n \n <td>Id</td>\n \n <td>Kenzi (Dog: Golden Retriever)</td>\n \n </tr>\n \n <tr>\n \n <td>Owner</td>\n \n <td>Peter Chalmers, 534 Erewhon, Pleasantville, Vic, 3999</td>\n \n </tr>\n \n <tr>\n \n <td>Contacts</td>\n \n <td>Work: (03) 5555 6473</td>\n \n </tr>\n \n <tr>\n \n <td>Id</td>\n \n <td>Dog Tag: 1234123 (Maroondah City Council)</td>\n \n </tr>\n \n </tbody>\n \n </table>\n \n </div>" + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-animal", + "extension": [ + { + "url": "species", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/animal-species", + "code": "canislf", + "display": "Dog" + } + ] + } + }, + { + "url": "breed", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "58108001", + "display": "Golden retriever" + }, + { + "system": "http://example.org/fhir/CodeSystem/animal-breed", + "code": "gret", + "display": "Golden Retriever" + } + ] + } + }, + { + "url": "genderStatus", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/animal-genderstatus", + "code": "neutered" + } + ] + } + } + ] + } + ], + "identifier": [ + { + "type": { + "text": "Dog Tag" + }, + "system": "http://www.maroondah.vic.gov.au/AnimalRegFees.aspx", + "value": "1234123", + "period": { + "start": "2010-05-31" + }, + "assigner": { + "display": "Maroondah City Council" + } + } + ], + "active": true, + "name": [ + { + "use": "usual", + "given": [ + "Kenzi" + ] + } + ], + "gender": "female", + "birthDate": "2010-03-23", + "contact": [ + { + "relationship": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0131", + "code": "C" + } + ] + } + ], + "name": { + "family": "Chalmers", + "given": [ + "Peter", + "James" + ] + }, + "telecom": [ + { + "system": "phone", + "value": "(03) 5555 6473", + "use": "work" + } + ] + } + ], + "managingOrganization": { + "display": "Pete's Vetinary Services" + } + } \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml new file mode 100644 index 000000000..5345703fa --- /dev/null +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<Patient xmlns="http://hl7.org/fhir"> + <id value="Patient"/> + <text> + <status value="generated"/> + <div xmlns="http://www.w3.org/1999/xhtml"> + <table> + <tbody> + <tr> + <td> Name</td> + <td> Peter James + <b> Chalmers</b> ("Jim") + </td> + </tr> + <tr> + <td> Address</td> + <td> 534 Erewhon, Pleasantville, Vic, 3999</td> + </tr> + <tr> + <td> Contacts</td> + <td> Home: unknown. Work: (03) 5555 6473</td> + </tr> + <tr> + <td> Id</td> + <td> MRN: 12345 (Acme Healthcare)</td> + </tr> + </tbody> + </table> + </div> + </text> + <!-- MRN assigned by ACME healthcare on 6-May 2001 --> + <identifier> + <use value="usual"/> + <type> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/> + <code value="MR"/> + </coding> + </type> + <system value="urn:oid:1.2.36.146.595.217.0.1"/> + <value value="12345"/> + <period> + <start value="2001-05-06"/> + </period> + <assigner> + <display value="Acme Healthcare"/> + </assigner> + </identifier> + <active value="true"/> + <!-- Peter James Chalmers, but called "Jim" --> + <name> + <use value="official"/> + <family value="Chalmers"/> + <given value="Peter"/> + <given value="James"/> + </name> + <name> + <use value="usual"/> + <given value="Jim"/> + </name> + <name> + <!-- Maiden names apply for anyone whose name changes as a result of marriage - irrespective + of gender --> + <use value="maiden"/> + <family value="Windsor"/> + <given value="Peter"/> + <given value="James"/> + <period> + <end value="2002"/> + </period> + </name> + <telecom> + <use value="home"/> + <!-- home communication details aren't known --> + </telecom> + <telecom> + <system value="phone"/> + <value value="(03) 5555 6473"/> + <use value="work"/> + <rank value="1"/> + </telecom> + <telecom> + <system value="phone"/> + <value value="(03) 3410 5613"/> + <use value="mobile"/> + <rank value="2"/> + </telecom> + <telecom> + <system value="phone"/> + <value value="(03) 5555 8834"/> + <use value="old"/> + <period> + <end value="2014"/> + </period> + </telecom> + <!-- use FHIR code system for male / female --> + <gender value="male"/> + <birthDate value="1974-12-25"> + <extension url="http://hl7.org/fhir/StructureDefinition/patient-birthTime"> + <valueDateTime value="1974-12-25T14:35:45-05:00"/> + </extension> + </birthDate> + <deceasedBoolean value="false"/> + <address> + <use value="home"/> + <type value="both"/> + <text value="534 Erewhon St PeasantVille, Rainbow, Vic 3999"/> + <line value="534 Erewhon St"/> + <city value="PleasantVille"/> + <district value="Rainbow"/> + <state value="Vic"/> + <postalCode value="3999"/> + <period> + <start value="1974-12-25"/> + </period> + </address> + <contact> + <relationship> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0131"/> + <code value="N"/> + </coding> + </relationship> + <name> + <family value="du Marché"> + <!-- the "du" part is a family name prefix (VV in iso 21090) --> + <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix"> + <valueString value="VV"/> + </extension> + </family> + <given value="Bénédicte"/> + </name> + <telecom> + <system value="phone"/> + <value value="+33 (237) 998327"/> + </telecom> + <address> + <use value="home"/> + <type value="both"/> + <line value="534 Erewhon St"/> + <city value="PleasantVille"/> + <district value="Rainbow"/> + <state value="Vic"/> + <postalCode value="3999"/> + <period> + <start value="1974-12-25"/> + </period> + </address> + <gender value="female"/> + <period> + <!-- The contact relationship started in 2012 --> + <start value="2012"/> + </period> + </contact> + <managingOrganization> + <reference value="Organization/1"/> + </managingOrganization> +</Patient> \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/copyright b/tests/Integration.Test/data/fhir/copyright new file mode 100644 index 000000000..953a3534b --- /dev/null +++ b/tests/Integration.Test/data/fhir/copyright @@ -0,0 +1,3 @@ +http://hl7.org/fhir/ + +All test/example files sourced from http://hl7.org/fhir/ and are subject to HL7's copyright if any. \ No newline at end of file diff --git a/tests/Integration.Test/run.sh b/tests/Integration.Test/run.sh index a968c1a67..b6c129b43 100755 --- a/tests/Integration.Test/run.sh +++ b/tests/Integration.Test/run.sh @@ -56,22 +56,36 @@ function env_setup() { [ -d $BIN_DIR ] && info "Removing $BIN_DIR..." && sudo rm -r $BIN_DIR - set +u - if [ "$1" = "--dev" ]; then - info "Using .env.dev..." - LOADDEV="--env-file .env.dev" - info "Using study.json.dev..." - STUDYJSON="study.json.dev" - elif [ "$1" = "--feature" ]; then - if [ -z "$2" ]; then - fatal "--feature used without specifying a feature" - fi - FEATURE="--filter $2" - info "Filtering by feature=$FEATURE" - fi - - - set -u + SHORT=f:,d + LONG=feature:,dev + OPTS=$(getopt -a -n weather --options $SHORT --longoptions $LONG -- "$@") + + eval set -- "$OPTS" + + while : + do + case "$1" in + -f | --feature ) + FEATURE="--filter $2" + info "Filtering by feature=$FEATURE" + shift 2 + ;; + -d | --dev ) + info "Using .env.dev..." + LOADDEV="--env-file .env.dev" + info "Using study.json.dev..." + STUDYJSON="study.json.dev" + shift; + ;; + --) + shift; + break + ;; + *) + echo "Unexpected option: $1" + ;; + esac + done if [[ $(docker-compose ps -q | wc -l) -ne 0 ]]; then info "Stopping existing services..." From df6ecada405253a35c102ab2029ef354080fe523 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:46:56 -0700 Subject: [PATCH 008/101] Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> --- Dockerfile | 3 + doc/dependency_decisions.yml | 88 +++++++++---------- docs/api/rest/health.md | 78 ++++++++++------ docs/changelog.md | 1 + ...Monai.Deploy.InformaticsGateway.Api.csproj | 4 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- ...formaticsGateway.Client.Common.Test.csproj | 2 +- ...ploy.InformaticsGateway.Client.Test.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 4 +- ...formaticsGateway.Configuration.Test.csproj | 2 +- ...oy.InformaticsGateway.Database.Test.csproj | 2 +- ...rmaticsGateway.DicomWeb.Client.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 47 +++++----- src/InformaticsGateway/Program.cs | 10 ++- .../Services/Http/HealthController.cs | 27 ------ .../Services/Http/MonaiHealthCheck.cs | 63 +++++++++++++ .../Services/Http/Startup.cs | 26 ++++++ .../Test/DummyMessagingService.cs | 20 +++-- .../Test/DummyStorageService.cs | 11 ++- ...onai.Deploy.InformaticsGateway.Test.csproj | 2 +- .../Services/Http/HealthControllerTest.cs | 44 ---------- ...InformaticsGateway.Integration.Test.csproj | 8 +- 24 files changed, 255 insertions(+), 197 deletions(-) create mode 100644 src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs diff --git a/Dockerfile b/Dockerfile index 0bd9ad5ac..9db01470b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,6 +35,7 @@ RUN apt-get clean \ libssl1.1 \ openssl \ sqlite3 \ + curl \ && rm -rf /var/lib/apt/lists WORKDIR /opt/monai/ig @@ -48,6 +49,8 @@ EXPOSE 104 EXPOSE 2575 EXPOSE 5000 +HEALTHCHECK --interval=10s --retries=10 CMD curl --fail http://localhost:5000/health || exit 1 + RUN ls -lR /opt/monai/ig ENV PATH="/opt/dotnetcore-tools:${PATH}" diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 2c184f0b4..1346a2b64 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -18,22 +18,8 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.12 - :when: 2022-08-16 23:05:22.203089302 Z -- - :approve - - AWSSDK.Core - - :who: mocsharp - :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) - :versions: - - 3.7.12 - :when: 2022-08-16 23:05:27.554306178 Z -- - :approve - - AWSSDK.Core - - :who: mocsharp - :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) - :versions: - - 3.7.12.21 - :when: 2022-08-16 23:05:27.995041369 Z + - 3.7.12.26 + :when: 2022-09-01 23:05:22.203089302 Z - - :approve - AWSSDK.S3 - :who: mocsharp @@ -46,15 +32,8 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.1.165 - :when: 2022-08-16 23:05:28.920368903 Z -- - :approve - - AWSSDK.SecurityToken - - :who: mocsharp - :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) - :versions: - - 3.7.1.185 - :when: 2022-08-16 23:05:29.352541363 Z + - 3.7.1.190 + :when: 2022-09-01 23:05:28.920368903 Z - - :approve - BoDi - :who: mocsharp @@ -109,15 +88,15 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.0 - :when: 2022-08-16 23:05:32.857032968 Z + - 4.7.1 + :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.0 - :when: 2022-08-16 23:05:33.298402277 Z + - 4.7.1 + :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions - :who: mocsharp @@ -368,8 +347,8 @@ - :who: mocsharp :why: MIT (https://github.com/microsoft/vstest/raw/main/LICENSE) :versions: - - 17.3.0 - :when: 2022-08-16 23:05:49.229587689 Z + - 17.3.1 + :when: 2022-09-01 23:05:49.229587689 Z - - :approve - Microsoft.Data.Sqlite.Core - :who: mocsharp @@ -566,6 +545,27 @@ :versions: - 6.0.0 :when: 2022-08-16 23:06:02.270628975 Z +- - :approve + - Microsoft.Extensions.Diagnostics.HealthChecks + - :who: mocsharp + :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + :versions: + - 6.0.8 + :when: 2022-08-29 18:11:22.090772006 Z +- - :approve + - Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions + - :who: mocsharp + :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + :versions: + - 6.0.8 + :when: 2022-08-29 18:11:22.090772006 Z +- - :approve + - Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore + - :who: mocsharp + :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + :versions: + - 6.0.8 + :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.FileProviders.Abstractions - :who: mocsharp @@ -732,8 +732,8 @@ - :who: mocsharp :why: MIT ( https://aka.ms/deprecateLicenseUrl) :versions: - - 17.3.0 - :when: 2022-08-16 23:06:13.008314524 Z + - 17.3.1 + :when: 2022-09-01 23:06:13.008314524 Z - - :approve - Microsoft.NETCore.Platforms - :who: mocsharp @@ -793,10 +793,10 @@ - - :approve - Microsoft.TestPlatform.ObjectModel - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.0/LICENSE) + :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) :versions: - - 17.3.0 - :when: 2022-08-16 23:06:17.198633634 Z + - 17.3.1 + :when: 2022-09-01 23:06:17.198633634 Z - - :approve - Microsoft.TestPlatform.TestHost - :who: mocsharp @@ -814,10 +814,10 @@ - - :approve - Microsoft.TestPlatform.TestHost - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.0/LICENSE) + :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) :versions: - - 17.3.0 - :when: 2022-08-16 23:06:18.619013325 Z + - 17.3.1 + :when: 2022-09-01 23:06:18.619013325 Z - - :approve - Microsoft.Win32.Primitives - :who: mocsharp @@ -851,35 +851,35 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.3 + - 0.1.4 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.3 + - 0.1.4 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.0 + - 0.2.5 :when: 2022-08-16 23:06:21.988183476 Z - - :approve - Monai.Deploy.Storage.MinIO - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.0 + - 0.2.5 :when: 2022-08-16 23:06:22.426838304 Z - - :approve - Monai.Deploy.Storage.S3Policy - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.0 + - 0.2.5 :when: 2022-08-16 23:06:22.881956546 Z - - :approve - Moq diff --git a/docs/api/rest/health.md b/docs/api/rest/health.md index 9bf068fea..dab88514a 100644 --- a/docs/api/rest/health.md +++ b/docs/api/rest/health.md @@ -18,12 +18,11 @@ The _health_ endpoint provides the following APIs to get the status of the internals of the Informatics Gateway. -## GET /health/status -Returns the MONAI Informatics Gateway service status: -- Active DICOM DIMSE associations -- Internal service status +## GET /health/ + +Returns the MONAI Deploy Informatics Gateway service readiness and liveness. ### Parameters @@ -31,40 +30,61 @@ N/A ### Responses -Response Content Type: JSON - [HealthStatusResponse](xref:Monai.Deploy.InformaticsGateway.Api.Rest.HealthStatusResponse). +Response Content Type: JSON + +- `Healthy`: All services are running. +- `Unhealthy`: One or more services have stopped or crashed. | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 200 | Status is available. | +| 200 | Service is healthy. | +| 503 | Service is unhealthy. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request ```bash -curl --location --request GET 'http://localhost:5000/health/status' +curl --location --request GET 'http://localhost:5000/health' ``` ### Example Response ```json { - "activeDimseConnections": 8, - "services": { - "Space Reclaimer Service": "Running", - "DICOM SCP Service": "Running", - "DICOMweb Export Service": "Running", - "DICOM Export Service": "Running", - "Data Retrieval Service": "Running", - "Workload Manager Notification Service": "Running" - } + "status": "Healthy", + "checks": [ + { + "check": "Informatics Gateway Services", + "result": "Healthy" + }, + { + "check": "InformaticsGatewayContext", + "result": "Healthy" + }, + { + "check": "minio", + "result": "Healthy" + }, + { + "check": "Rabbit MQ Subscriber", + "result": "Healthy" + }, + { + "check": "Rabbit MQ Publisher", + "result": "Healthy" + } + ] } ``` --- -## GET /health/ready & GET /health/live +## GET /health/status + +Returns the MONAI Informatics Gateway service status: -Returns the MONAI Deploy Informatics Gateway service readiness and liveness. +- Active DICOM DIMSE associations +- Internal service status ### Parameters @@ -72,25 +92,31 @@ N/A ### Responses -Response Content Type: JSON - -- `Healthy`: All services are running. -- `Unhealthy`: One or more services have stopped or crashed. +Response Content Type: JSON - [HealthStatusResponse](xref:Monai.Deploy.InformaticsGateway.Api.Rest.HealthStatusResponse). | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | -| 200 | Service is healthy. | -| 503 | Service is unhealthy. | +| 200 | Status is available. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request ```bash -curl --location --request GET 'http://localhost:5000/health/live' +curl --location --request GET 'http://localhost:5000/health/status' ``` ### Example Response ```json -"Healthy" +{ + "activeDimseConnections": 8, + "services": { + "Space Reclaimer Service": "Running", + "DICOM SCP Service": "Running", + "DICOMweb Export Service": "Running", + "DICOM Export Service": "Running", + "Data Retrieval Service": "Running", + "Workload Manager Notification Service": "Running" + } +} ``` diff --git a/docs/changelog.md b/docs/changelog.md index 37e15a9ad..bd3dde2a1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -21,6 +21,7 @@ [GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/3) - Adds a basic [FHIR service](api/rest/config.md) to accept any versions of FHIR. +- Updates [Health Check API](api/rest/health.md) to replace `/health/live` and `/health/ready` APIs with `/health` API. ## 0.2.0 diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 82262b870..b02cb3a69 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,8 +30,8 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.8" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.3" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.0" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.4" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" /> </ItemGroup> diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 465b36bae..1a9324738 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index ab185c5f8..b71179f16 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index 261a3934a..4f85075e7 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index b0245eae6..4759034f1 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 35eb89936..bb1b39a2c 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -28,7 +28,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 20039cdac..2d453ff3d 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,8 +30,8 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.3" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.0" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.4" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> <PackageReference Include="System.IO.Abstractions" Version="17.1.1" /> </ItemGroup> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index 1b274cd03..e24b6a122 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -33,7 +33,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj index 922706db3..11cfc06af 100644 --- a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj +++ b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj @@ -25,7 +25,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index 6eb35b00f..4bd7266fc 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 91bce53ac..84c53ae17 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,34 +31,35 @@ <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> - <ItemGroup> - <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.7.0" /> - <PackageReference Include="fo-dicom" Version="5.0.2" /> - <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> - <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> - <PrivateAssets>All</PrivateAssets> - </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> - <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> - <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.3" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.0" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.0" /> - <PackageReference Include="Polly" Version="7.2.3" /> - <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> - </ItemGroup> + <ItemGroup> + <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> + <PackageReference Include="DotNext.Threading" Version="4.7.1" /> + <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> + <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> + <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PrivateAssets>All</PrivateAssets> + </PackageReference> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> + <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.8" /> + <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> + <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.4" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.5" /> + <PackageReference Include="Polly" Version="7.2.3" /> + <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> + </ItemGroup> <ItemGroup> <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo"> <_Parameter1>$(AssemblyName).Test</_Parameter1> </AssemblyAttribute> </ItemGroup> - + <ItemGroup> <Compile Remove="Test\**" /> <EmbeddedResource Remove="Test\**" /> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 85b1e7cc0..84f7594c8 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -79,7 +79,8 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => var env = builderContext.HostingEnvironment; config .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false) - .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false); + .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false) + .AddEnvironmentVariables(); }) .ConfigureLogging((builderContext, configureLogging) => { @@ -114,10 +115,11 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddScoped<IPayloadMoveActionHandler, PayloadMoveActionHandler>(); services.AddScoped<IPayloadNotificationActionHandler, PayloadNotificationActionHandler>(); - services.AddMonaiDeployStorageService(hostContext.Configuration.GetSection("InformaticsGateway:storage:serviceAssemblyName").Value); + services.AddMonaiDeployStorageService(hostContext.Configuration.GetSection("InformaticsGateway:storage:serviceAssemblyName").Value, Monai.Deploy.Storage.HealthCheckOptions.ServiceHealthCheck); - services.AddMonaiDeployMessageBrokerPublisherService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:publisherServiceAssemblyName").Value); - services.AddMonaiDeployMessageBrokerSubscriberService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:subscriberServiceAssemblyName").Value); + + services.AddMonaiDeployMessageBrokerPublisherService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:publisherServiceAssemblyName").Value, true); + services.AddMonaiDeployMessageBrokerSubscriberService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:subscriberServiceAssemblyName").Value, true); services.AddSingleton<ConfigurationValidator>(); services.AddSingleton<IObjectUploadQueue, ObjectUploadQueue>(); diff --git a/src/InformaticsGateway/Services/Http/HealthController.cs b/src/InformaticsGateway/Services/Http/HealthController.cs index 8c5f7ad0c..873a5fd33 100644 --- a/src/InformaticsGateway/Services/Http/HealthController.cs +++ b/src/InformaticsGateway/Services/Http/HealthController.cs @@ -16,7 +16,6 @@ */ using System; -using System.Linq; using System.Net; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -65,31 +64,5 @@ public ActionResult<HealthStatusResponse> Status() return Problem(title: "Error collecting system status.", statusCode: (int)HttpStatusCode.InternalServerError, detail: ex.Message); } } - - [HttpGet("ready")] - [HttpGet("live")] - [Produces("application/json")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status503ServiceUnavailable)] - [ProducesResponseType(StatusCodes.Status500InternalServerError)] - public ActionResult Ready() - { - try - { - var services = _monaiServiceLocator.GetServiceStatus(); - - if (services.Values.Any((p) => p != ServiceStatus.Running)) - { - return StatusCode((int)HttpStatusCode.ServiceUnavailable, "Unhealthy"); - } - - return Ok("Healthy"); - } - catch (Exception ex) - { - _logger.ErrorCollectingSystemStatus(ex); - return Problem(title: "Error collecting system status.", statusCode: (int)HttpStatusCode.InternalServerError, detail: ex.Message); - } - } } } diff --git a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs new file mode 100644 index 000000000..5f13aab52 --- /dev/null +++ b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs @@ -0,0 +1,63 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Diagnostics.HealthChecks; +using Monai.Deploy.InformaticsGateway.Repositories; + +namespace Monai.Deploy.InformaticsGateway.Services.Http +{ + public class MonaiHealthCheck : IHealthCheck + { + private readonly IMonaiServiceLocator _monaiServiceLocator; + + public MonaiHealthCheck(IMonaiServiceLocator monaiServiceLocator) + { + _monaiServiceLocator = monaiServiceLocator ?? throw new ArgumentNullException(nameof(monaiServiceLocator)); + } + + public Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context, CancellationToken cancellationToken = default) + { + var services = _monaiServiceLocator.GetServiceStatus(); + + if (services.Values.All(p => p == Api.Rest.ServiceStatus.Running)) + { + return Task.FromResult(HealthCheckResult.Healthy()); + } + + if (services.Values.All(p => p == Api.Rest.ServiceStatus.Stopped || + p == Api.Rest.ServiceStatus.Cancelled || + p == Api.Rest.ServiceStatus.Unknown)) + { + return Task.FromResult(HealthCheckResult.Unhealthy()); + } + + var sb = new StringBuilder(); + foreach (var service in services.Keys) + { + if (services[service] != Api.Rest.ServiceStatus.Running) + { + sb.AppendLine($"{service}: {services[service]}"); + } + } + return Task.FromResult(HealthCheckResult.Degraded(sb.ToString())); + } + } +} diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index 80d47333f..fed574936 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -14,17 +14,21 @@ * limitations under the License. */ +using System.Linq; +using System.Net.Mime; using System.Text.Json; using System.Text.Json.Serialization; using FellowOakDicom.Serialization; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; +using Monai.Deploy.InformaticsGateway.Database; using Monai.Deploy.InformaticsGateway.Services.Fhir; namespace Monai.Deploy.InformaticsGateway.Services.Http @@ -101,6 +105,10 @@ public void ConfigureServices(IServiceCollection services) return result; }; }); + + services.AddHealthChecks() + .AddCheck<MonaiHealthCheck>("Informatics Gateway Services") + .AddDbContextCheck<InformaticsGatewayContext>("Database"); } #pragma warning disable CA1822 // Mark members as static @@ -116,6 +124,24 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) } app.UseRouting(); + app.UseHealthChecks("/health", new Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckOptions + { + ResponseWriter = async (context, report) => + { + var result = System.Text.Json.JsonSerializer.Serialize(new + { + status = report.Status.ToString(), + checks = report.Entries.Select(c => new + { + check = c.Key, + result = c.Value.Status.ToString() + }), + }); + + context.Response.ContentType = MediaTypeNames.Application.Json; + await context.Response.WriteAsync(result); + } + }); app.UseEndpoints(endpoints => { diff --git a/src/InformaticsGateway/Test/DummyMessagingService.cs b/src/InformaticsGateway/Test/DummyMessagingService.cs index 2f3317b11..0c5df01ee 100644 --- a/src/InformaticsGateway/Test/DummyMessagingService.cs +++ b/src/InformaticsGateway/Test/DummyMessagingService.cs @@ -14,8 +14,10 @@ * limitations under the License. */using System; +using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Diagnostics.HealthChecks; using Monai.Deploy.Messaging; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Common; @@ -25,22 +27,24 @@ namespace Monai.Deploy.InformaticsGateway.Test { internal class DummyMessagePublisherRegistrar : PublisherServiceRegistrationBase { - public DummyMessagePublisherRegistrar(string fullyQualifiedAssemblyName) : base(fullyQualifiedAssemblyName) - { - } - public override IServiceCollection Configure(IServiceCollection services) => services; } internal class DummyMessageSubscriberRegistrar : SubscriberServiceRegistrationBase { - public DummyMessageSubscriberRegistrar(string fullyQualifiedAssemblyName) : base(fullyQualifiedAssemblyName) - { - } - public override IServiceCollection Configure(IServiceCollection services) => services; } + internal class DummMessagePublisherHealthCheck : PublisherServiceHealthCheckRegistrationBase + { + public override IHealthChecksBuilder Configure(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; + } + + internal class DummMessageSubscriberHealthCheck : SubscriberServiceHealthCheckRegistrationBase + { + public override IHealthChecksBuilder Configure(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; + } + internal class DummyMessagingService : IMessageBrokerPublisherService, IMessageBrokerSubscriberService { public string Name => "Dummy Messaging Service"; diff --git a/src/InformaticsGateway/Test/DummyStorageService.cs b/src/InformaticsGateway/Test/DummyStorageService.cs index 7b8d63784..cc386965e 100644 --- a/src/InformaticsGateway/Test/DummyStorageService.cs +++ b/src/InformaticsGateway/Test/DummyStorageService.cs @@ -21,6 +21,7 @@ using System.Threading.Tasks; using Amazon.SecurityToken.Model; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Diagnostics.HealthChecks; using Monai.Deploy.Storage; using Monai.Deploy.Storage.API; @@ -28,13 +29,15 @@ namespace Monai.Deploy.InformaticsGateway.Test { internal class DummyStorageRegistrar : ServiceRegistrationBase { - public DummyStorageRegistrar(string fullyQualifiedAssemblyName) : base(fullyQualifiedAssemblyName) - { - } - public override IServiceCollection Configure(IServiceCollection services) => services; } + internal class DummyStorageHealthCheck : HealthCheckRegistrationBase + { + public override IHealthChecksBuilder ConfigureAdminHealthCheck(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; + public override IHealthChecksBuilder ConfigureHealthCheck(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; + } + internal class DummyStorageService : IStorageService { public string Name => "Dummy Storage Service"; diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index f8ecadeeb..98d1695e4 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -36,7 +36,7 @@ </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.8" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> diff --git a/src/InformaticsGateway/Test/Services/Http/HealthControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/HealthControllerTest.cs index 2157d94d7..169b6170b 100644 --- a/src/InformaticsGateway/Test/Services/Http/HealthControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/HealthControllerTest.cs @@ -123,49 +123,5 @@ public void Status_ShallReturnProblemOnFailure() } #endregion Status - - #region Ready - - [RetryFact(5, 250, DisplayName = "Ready - Shall return Unhealthy")] - public void Ready_ShallReturnUnhealthy() - { - _serviceLocator.Setup(p => p.GetServiceStatus()).Returns(new Dictionary<string, ServiceStatus>() { { "Service", ServiceStatus.Stopped } }); - - var readyResult = _controller.Ready(); - var objectResult = readyResult as ObjectResult; - Assert.NotNull(objectResult); - Assert.Equal("Unhealthy", objectResult.Value); - Assert.Equal((int)HttpStatusCode.ServiceUnavailable, objectResult.StatusCode); - } - - [RetryFact(5, 250, DisplayName = "Ready - Shall return Healthy")] - public void Ready_ShallReturnHealthy() - { - _serviceLocator.Setup(p => p.GetServiceStatus()).Returns(new Dictionary<string, ServiceStatus>() { { "Service", ServiceStatus.Running } }); - - var readyResult = _controller.Ready(); - var objectResult = readyResult as ObjectResult; - Assert.NotNull(objectResult); - Assert.Equal("Healthy", objectResult.Value); - Assert.Equal((int)HttpStatusCode.OK, objectResult.StatusCode); - } - - [RetryFact(5, 250, DisplayName = "Ready - Shall return problem on failure")] - public void Ready_ShallReturnProblemOnFailure() - { - _serviceLocator.Setup(p => p.GetServiceStatus()).Throws(new Exception("error")); - - var result = _controller.Ready(); - var objectResult = result as ObjectResult; - Assert.NotNull(objectResult); - var problem = objectResult.Value as ProblemDetails; - Assert.NotNull(problem); - Assert.NotNull(problem); - Assert.Equal("Error collecting system status.", problem.Title); - Assert.Equal("error", problem.Detail); - Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - } - - #endregion Ready } } diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 7fa3a4a77..12af6e326 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,10 +31,10 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Minio" Version="4.0.5" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.3" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.0" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.4" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.5" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> From 336ff33cd86bb9cd58083196f1eb054b288fb1aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:48:45 -0700 Subject: [PATCH 009/101] Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8992569e..6c404b23d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -189,7 +189,7 @@ jobs: run: dotnet sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" working-directory: ./src - - uses: codecov/codecov-action@v2 + - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} directory: "src/${{ env.TEST_RESULTS }}" From 4aeab01d319f9784581bf8a99c4f68bb10c391a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:49:57 -0700 Subject: [PATCH 010/101] Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c404b23d..c14708f09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -462,10 +462,10 @@ jobs: run: ls -ldR ${{steps.download.outputs.download-path}}/**/* - name: Extract owner and repo - uses: jungwinter/split@v1 + uses: jungwinter/split@v2 id: repo with: - seperator: "/" + separator: "/" msg: ${{ github.repository }} - name: Install GitReleaseManager From 5fbf6aeb21fb90895a94a266660d08759591d71e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:50:24 -0700 Subject: [PATCH 011/101] Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c14708f09..65966496b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -455,7 +455,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 id: download - name: List artifacts From 63f5ab7d9e9418c92c269934355057d00cda3e57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:55:14 -0700 Subject: [PATCH 012/101] Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65966496b..70930e702 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -242,7 +242,7 @@ jobs: popd - name: Upload Integration Test Results - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3.1.0 if: always() with: name: integration-${{ matrix.feature }} @@ -321,7 +321,7 @@ jobs: dir -r ~/release - name: Upload CLI - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3.1.0 with: name: artifacts path: ~/release @@ -435,7 +435,7 @@ jobs: Get-ChildItem ~\release -Recurse - name: Upload docs - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3.1.0 with: name: artifacts path: ~/release From f6745f69ec803fcca42a896dd69e73e91f6b4ff3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:55:55 -0700 Subject: [PATCH 013/101] Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70930e702..9ebf7abc9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -406,7 +406,7 @@ jobs: ${{ runner.os }}-nuget - name: Setup DocFX - uses: crazy-max/ghaction-chocolatey@v1 + uses: crazy-max/ghaction-chocolatey@v2 with: args: install docfx From c5356e01526cf805c50ed5ca07c78071e891d5b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:56:54 -0700 Subject: [PATCH 014/101] Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ebf7abc9..a6c30d9c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -337,7 +337,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v3.6.2 + uses: docker/metadata-action@v4.0.1 if: ${{ (matrix.os == 'ubuntu-latest') }} with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} From 0f2c714db8c2652c9580025e34268142896cf1db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:57:12 -0700 Subject: [PATCH 015/101] Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6c30d9c0..fb7ad665a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: majorMinorPatch: ${{ steps.gitversion.outputs.majorMinorPatch }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -72,7 +72,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 @@ -149,7 +149,7 @@ jobs: restore-keys: | ${{ runner.os }}-nuget - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -211,7 +211,7 @@ jobs: TAG: ${{ needs.build.outputs.TAG }} steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 @@ -276,7 +276,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 @@ -389,7 +389,7 @@ jobs: env: SEMVER: ${{ needs.calc-version.outputs.semVer }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -451,7 +451,7 @@ jobs: MAJORMINORPATCH: ${{ needs.calc-version.outputs.majorMinorPatch }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 From b39eb74b211bda6fe202f646d1744f755ea8a228 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:57:41 -0700 Subject: [PATCH 016/101] Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb7ad665a..dd823c8ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.11 + uses: gittools/actions/gitversion/execute@v0.9.13 with: useConfigFile: true configFilePath: .github/.gitversion.yml @@ -469,12 +469,12 @@ jobs: msg: ${{ github.repository }} - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v0.9.11 + uses: gittools/actions/gitreleasemanager/setup@v0.9.13 with: versionSpec: "0.13.x" - name: Create release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/create@v0.9.11 + uses: gittools/actions/gitreleasemanager/create@v0.9.13 with: token: ${{ secrets.GITHUB_TOKEN }} owner: ${{ steps.repo.outputs._0 }} @@ -487,7 +487,7 @@ jobs: artifacts/mig-docs-${{ env.SEMVER }}.zip - name: Publish release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/publish@v0.9.11 + uses: gittools/actions/gitreleasemanager/publish@v0.9.13 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} @@ -496,7 +496,7 @@ jobs: tagName: ${{ env.MAJORMINORPATCH }} - name: Close release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/close@v0.9.11 + uses: gittools/actions/gitreleasemanager/close@v0.9.13 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} From 424d0295a4626c709a11e61397c13cb1478b5700 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:58:05 -0700 Subject: [PATCH 017/101] Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd823c8ea..bcc5e4e17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -346,7 +346,7 @@ jobs: type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }} - name: Build and push Docker image - uses: docker/build-push-action@v2.9.0 + uses: docker/build-push-action@v3.1.1 if: ${{ (matrix.os == 'ubuntu-latest') }} with: context: . From 084c94d3d404da08eafeb9b7415705262e8dec14 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 16:24:02 -0700 Subject: [PATCH 018/101] Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .licenserc.yaml | 1 + Dockerfile | 8 +- doc/dependency_decisions.yml | 14 +- docs/api/rest/fhir.md | 5 +- docs/compliance/third-party-licenses.md | 27938 ++++++++-------------- 5 files changed, 10606 insertions(+), 17360 deletions(-) diff --git a/.licenserc.yaml b/.licenserc.yaml index 0df83c2b3..95673c304 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -20,6 +20,7 @@ header: paths-ignore: - 'LICENSE' - '.github/**/*.md' + - '.github/dependabot.yml' - '**/*.log' - '**/bin/**' - '**/obj/**' diff --git a/Dockerfile b/Dockerfile index 9db01470b..ffd921c57 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM mcr.microsoft.com/dotnet/sdk:6.0-focal as build +FROM mcr.microsoft.com/dotnet/sdk:6.0-jammy as build # Install the tools RUN dotnet tool install --tool-path /tools dotnet-trace @@ -26,17 +26,15 @@ RUN echo "Building MONAI Deploy Informatics Gateway..." RUN dotnet publish -c Release -o out --nologo src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj # Build runtime image -FROM mcr.microsoft.com/dotnet/aspnet:6.0-focal +FROM mcr.microsoft.com/dotnet/aspnet:6.0-jammy ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean \ && apt-get update \ && apt-get install -y --no-install-recommends \ - libssl1.1 \ - openssl \ sqlite3 \ curl \ - && rm -rf /var/lib/apt/lists + && rm -rf /var/lib/apt/lists WORKDIR /opt/monai/ig diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 1346a2b64..5fd47cc17 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -1192,7 +1192,7 @@ - - :approve - System.Configuration.ConfigurationManager - :who: mocsharp - :why: MIT ( https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT ( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.0 :when: 2022-08-16 23:06:43.335979768 Z @@ -1493,7 +1493,7 @@ - - :approve - System.Reflection.Metadata - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 1.6.0 :when: 2022-08-16 23:07:03.120522282 Z @@ -1535,7 +1535,7 @@ - - :approve - System.Runtime.CompilerServices.Unsafe - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.1 :when: 2022-08-16 23:07:05.893799510 Z @@ -1612,7 +1612,7 @@ - - :approve - System.Security.AccessControl - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.0 :when: 2022-08-16 23:07:11.063425328 Z @@ -1668,7 +1668,7 @@ - - :approve - System.Security.Cryptography.ProtectedData - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.0 :when: 2022-08-16 23:07:14.759818552 Z @@ -1682,7 +1682,7 @@ - - :approve - System.Security.Permissions - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.0 :when: 2022-08-16 23:07:15.681971110 Z @@ -1717,7 +1717,7 @@ - - :approve - System.Text.Encoding.CodePages - :who: mocsharp - :why: MIT (https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) + :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.6.0 :when: 2022-08-16 23:07:17.991171210 Z diff --git a/docs/api/rest/fhir.md b/docs/api/rest/fhir.md index 963b413b8..f149fa65a 100644 --- a/docs/api/rest/fhir.md +++ b/docs/api/rest/fhir.md @@ -20,7 +20,7 @@ The `fhir/` endpoint implements the specifications defined in [section 3.1.0 RES defined by HL7 (Health Level 7 International) to enable triggering new workflows. The FHIR service supports multiple versions of the Fast Healthcare Interoperability Resources (FHIR) specifications published by Health Level 7 International (HL7). [!Note] -The service does not support `CapabilityStatement` at this moment and does not group the incoming FHIR resources. Therefore, each incoming FHIR resource will trigger a new workflow request. +The service does not support [CapabilityStatement](https://www.hl7.org/fhir/capabilitystatement.html) at this moment and does not group the incoming FHIR resources. Therefore, each incoming FHIR resource will trigger a new workflow request. The *FHIR* service provides the following endpoint. @@ -61,6 +61,3 @@ If the `Accept` header is missing or a none supported value exists, the service | 400 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Unable to parse the resource or mismatching resource type specified.. | | 415 | `none` | Unsupported media type | | 500 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Server error. | - -[!Note] -The `Location` header in the response given that the resources created are for inference only. diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 1e8c00d31..2cc30e034 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -1,5 +1,5 @@ <!-- - ~ Copyright 2021-2022 MONAI Consortium + ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. @@ -60,161 +60,15 @@ SOFTWARE. <details> -<summary>AWSSDK.Core 3.7.12</summary> +<summary>AWSSDK.Core 3.7.12.26</summary> ## AWSSDK.Core -- Version: 3.7.12 +- Version: 3.7.12.26 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.12) -- License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) - - -``` -Apache License - -Version 2.0, January 2004 - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. - -“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.” - -“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS -``` - -</details> - - -<details> -<summary>AWSSDK.Core 3.7.12</summary> - -## AWSSDK.Core - -- Version: 3.7.12 -- Authors: Amazon Web Services -- Owners: Amazon Web Services -- Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.12) -- License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) - - -``` -Apache License - -Version 2.0, January 2004 - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. - -“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.” - -“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS -``` - -</details> - - -<details> -<summary>AWSSDK.Core 3.7.12.21</summary> - -## AWSSDK.Core - -- Version: 3.7.12.21 -- Authors: Amazon Web Services -- Owners: Amazon Web Services -- Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.12.21) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.12.26) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -352,88 +206,15 @@ END OF TERMS AND CONDITIONS <details> -<summary>AWSSDK.SecurityToken 3.7.1.165</summary> - -## AWSSDK.SecurityToken - -- Version: 3.7.1.165 -- Authors: Amazon Web Services -- Owners: Amazon Web Services -- Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.165) -- License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) - - -``` -Apache License - -Version 2.0, January 2004 - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -“License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -“Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -“Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -“You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. - -“Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -“Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -“Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -“Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -“Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.” - -“Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS -``` - -</details> - - -<details> -<summary>AWSSDK.SecurityToken 3.7.1.185</summary> +<summary>AWSSDK.SecurityToken 3.7.1.190</summary> ## AWSSDK.SecurityToken -- Version: 3.7.1.185 +- Version: 3.7.1.190 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.185) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.190) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -965,14 +746,14 @@ SOFTWARE. <details> -<summary>DotNext 4.7.0</summary> +<summary>DotNext 4.7.1</summary> ## DotNext -- Version: 4.7.0 +- Version: 4.7.1 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.0) +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.1) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -1004,14 +785,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.0</summary> +<summary>DotNext.Threading 4.7.1</summary> ## DotNext.Threading -- Version: 4.7.0 +- Version: 4.7.1 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.0) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.1) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -3155,15 +2936,15 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.3.0</summary> +<summary>Microsoft.CodeCoverage 17.3.1</summary> ## Microsoft.CodeCoverage -- Version: 17.3.0 +- Version: 17.3.1 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.3.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.3.1) - License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) @@ -4325,15 +4106,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> -## Microsoft.Extensions.FileProviders.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4366,15 +4147,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> -## Microsoft.Extensions.FileProviders.Physical +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4407,15 +4188,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileSystemGlobbing 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> -## Microsoft.Extensions.FileSystemGlobbing +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileSystemGlobbing/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4448,14 +4229,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting 6.0.0</summary> +<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Hosting +## Microsoft.Extensions.FileProviders.Abstractions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4489,14 +4270,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting 6.0.1</summary> +<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> -## Microsoft.Extensions.Hosting +## Microsoft.Extensions.FileProviders.Physical -- Version: 6.0.1 +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4530,7 +4311,130 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.FileSystemGlobbing 6.0.0</summary> + +## Microsoft.Extensions.FileSystemGlobbing + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileSystemGlobbing/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Hosting 6.0.0</summary> + +## Microsoft.Extensions.Hosting + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Hosting 6.0.1</summary> + +## Microsoft.Extensions.Hosting + +- Version: 6.0.1 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.1) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Hosting.Abstractions 6.0.0</summary> ## Microsoft.Extensions.Hosting.Abstractions @@ -6428,15 +6332,15 @@ Trademarks <details> -<summary>Microsoft.NET.Test.Sdk 17.3.0</summary> +<summary>Microsoft.NET.Test.Sdk 17.3.1</summary> ## Microsoft.NET.Test.Sdk -- Version: 17.3.0 +- Version: 17.3.1 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.1) - License: [MIT]( https://aka.ms/deprecateLicenseUrl) @@ -7851,16 +7755,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.ObjectModel 17.3.0</summary> +<summary>Microsoft.TestPlatform.ObjectModel 17.3.1</summary> ## Microsoft.TestPlatform.ObjectModel -- Version: 17.3.0 +- Version: 17.3.1 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.3.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.0/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.3.1) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) ``` @@ -7965,16 +7869,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.TestHost 17.3.0</summary> +<summary>Microsoft.TestPlatform.TestHost 17.3.1</summary> ## Microsoft.TestPlatform.TestHost -- Version: 17.3.0 +- Version: 17.3.1 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.3.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.0/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.3.1) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) ``` @@ -8683,14 +8587,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.3</summary> +<summary>Monai.Deploy.Messaging 0.1.4</summary> ## Monai.Deploy.Messaging -- Version: 0.1.3 +- Version: 0.1.4 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.3) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.4) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -8896,20 +8800,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.3</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.4</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.3 +- Version: 0.1.4 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.3) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.4) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -9115,20 +9028,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> <details> -<summary>Monai.Deploy.Storage 0.2.0</summary> +<summary>Monai.Deploy.Storage 0.2.5</summary> ## Monai.Deploy.Storage -- Version: 0.2.0 +- Version: 0.2.5 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.5) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -9334,20 +9256,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.0</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.5</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.0 +- Version: 0.2.5 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.5) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -9553,20 +9484,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.0</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.5</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.0 +- Version: 0.2.5 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.5) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -9772,6 +9712,15 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> @@ -14259,16936 +14208,4461 @@ consequential or other damages. - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ - Source: [NuGet](https://www.nuget.org/packages/System.Configuration.ConfigurationManager/4.5.0) -- License: [MIT]( https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) +- License: [MIT]( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) ``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. - +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - - - - - - - - - - - - - - - - - - - - - - -dotnet - -/ - -corefx - -Public - - - - - - -Notifications - - - - - -Fork - 5.2k - - - - - - - - Star - 17.9k - - - - - - - - - - - - - - - - -Code - - - - - - - -Pull requests -6 - - - - - - -Security - - - - - - - -Insights - - - - - - - - -More - - - - - - - Code - - - - Pull requests - - - - Security - - - - Insights - - - - - - - - - - -Permalink - - - - - - - -master - - - - - -Switch branches/tags - - - - - - - - - - -Branches -Tags - - - - - - - - - - - - - - -View all branches - - - - - - - - - - - - - - - -View all tags - - - - - - - - - -corefx/LICENSE.TXT - - Go to file - - - - - - - - - -Go to file -T - - - -Go to line -L - - - - - - - Copy path - - - - - -Copy permalink - - - - - - - - - - -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. - - - - - - - - - - -ViktorHofer - -Rename LICENSE to LICENSE.TXT (#42000) - - - - - - - - -Latest commit -23f5ecd -Oct 22, 2019 - - - - - - -History - - - - - - - - - - - -2 - - contributors - - - - - - - - - - Users who have contributed to this file - - - - - - - - - - - - - - - - - - - - - - - - 23 lines (18 sloc) - - 1.09 KB - - - - Raw - Blame - - - - - - - - - - - - - - - Edit this file -E - - Open in GitHub Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - View raw - - - - - - - View blame - - - - - - - - - - - - - -The MIT License (MIT) - - - - - - - - -Copyright (c) .NET Foundation and Contributors - - - - - - - - -All rights reserved. - - - - - - - - -Permission is hereby granted, free of charge, to any person obtaining a copy - - - -of this software and associated documentation files (the "Software"), to deal - - - -in the Software without restriction, including without limitation the rights - - - -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - -copies of the Software, and to permit persons to whom the Software is - - - -furnished to do so, subject to the following conditions: - - - - - - - - -The above copyright notice and this permission notice shall be included in all - - - -copies or substantial portions of the Software. - - - - - - - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - -SOFTWARE. - - - - - - - - - - - - - - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - - - - - -Footer - - - - - - - - - © 2022 GitHub, Inc. - - - - -Footer navigation - -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About - - - - - - - - - - - - - - - - - You can’t perform that action at this time. - - - - - -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. -``` - -</details> - - -<details> -<summary>System.Console 4.3.0</summary> - -## System.Console - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Console/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Diagnostics.Debug 4.3.0</summary> - -## System.Diagnostics.Debug - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Debug/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Diagnostics.DiagnosticSource 4.3.0</summary> - -## System.Diagnostics.DiagnosticSource - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Diagnostics.DiagnosticSource 6.0.0</summary> - -## System.Diagnostics.DiagnosticSource - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Diagnostics.EventLog 6.0.0</summary> - -## System.Diagnostics.EventLog - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.EventLog/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Diagnostics.Tools 4.3.0</summary> - -## System.Diagnostics.Tools - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tools/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Diagnostics.Tracing 4.3.0</summary> - -## System.Diagnostics.Tracing - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tracing/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Drawing.Common 4.5.0</summary> - -## System.Drawing.Common - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Drawing.Common/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Dynamic.Runtime 4.0.11</summary> - -## System.Dynamic.Runtime - -- Version: 4.0.11 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.0.11) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Dynamic.Runtime 4.3.0</summary> - -## System.Dynamic.Runtime - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Globalization 4.3.0</summary> - -## System.Globalization - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Globalization.Calendars 4.3.0</summary> - -## System.Globalization.Calendars - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Calendars/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Globalization.Extensions 4.3.0</summary> - -## System.Globalization.Extensions - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.IO 4.3.0</summary> - -## System.IO - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions 17.0.24</summary> - -## System.IO.Abstractions - -- Version: 17.0.24 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.0.24) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions 17.1.1</summary> - -## System.IO.Abstractions - -- Version: 17.1.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.1.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.0.24</summary> - -## System.IO.Abstractions.TestingHelpers - -- Version: 17.0.24 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.0.24) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.1.1</summary> - -## System.IO.Abstractions.TestingHelpers - -- Version: 17.1.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.1.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Compression 4.3.0</summary> - -## System.IO.Compression - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.IO.Compression.ZipFile 4.3.0</summary> - -## System.IO.Compression.ZipFile - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression.ZipFile/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.IO.FileSystem 4.3.0</summary> - -## System.IO.FileSystem - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.IO.FileSystem.Primitives 4.3.0</summary> - -## System.IO.FileSystem.Primitives - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem.Primitives/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Linq 4.3.0</summary> - -## System.Linq - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Linq/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Linq.Async 6.0.1</summary> - -## System.Linq.Async - -- Version: 6.0.1 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Async/6.0.1) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Linq.Expressions 4.3.0</summary> - -## System.Linq.Expressions - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Expressions/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Memory 4.5.1</summary> - -## System.Memory - -- Version: 4.5.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.1) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Memory 4.5.4</summary> - -## System.Memory - -- Version: 4.5.4 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.4) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Net.Http 4.3.0</summary> - -## System.Net.Http - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Net.Http 4.3.4</summary> - -## System.Net.Http - -- Version: 4.3.4 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.4) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Net.NameResolution 4.3.0</summary> - -## System.Net.NameResolution - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.NameResolution/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Net.Primitives 4.3.0</summary> - -## System.Net.Primitives - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Net.Primitives 4.3.1</summary> - -## System.Net.Primitives - -- Version: 4.3.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.1) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Net.Sockets 4.3.0</summary> - -## System.Net.Sockets - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Sockets/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.ObjectModel 4.3.0</summary> - -## System.ObjectModel - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.ObjectModel/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Private.Uri 4.3.0</summary> - -## System.Private.Uri - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Private.Uri/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reactive 5.0.0</summary> - -## System.Reactive - -- Version: 5.0.0 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Reactive/5.0.0) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Reactive.Linq 5.0.0</summary> - -## System.Reactive.Linq - -- Version: 5.0.0 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Reactive.Linq/5.0.0) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Reflection 4.3.0</summary> - -## System.Reflection - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.Emit 4.3.0</summary> - -## System.Reflection.Emit - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.Emit.ILGeneration 4.3.0</summary> - -## System.Reflection.Emit.ILGeneration - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.Emit.Lightweight 4.3.0</summary> - -## System.Reflection.Emit.Lightweight - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.Extensions 4.3.0</summary> - -## System.Reflection.Extensions - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Extensions/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.Metadata 1.6.0</summary> - -## System.Reflection.Metadata - -- Version: 1.6.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Metadata/1.6.0) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - - - - - - - - - - - - - - - - - - - - - - -dotnet - -/ - -corefx - -Public - - - - - - -Notifications - - - - - -Fork - 5.2k - - - - - - - - Star - 17.9k - - - - - - - - - - - - - - - - -Code - - - - - - - -Pull requests -6 - - - - - - -Security - - - - - - - -Insights - - - - - - - - -More - - - - - - - Code - - - - Pull requests - - - - Security - - - - Insights - - - - - - - - - - -Permalink - - - - - - - -master - - - - - -Switch branches/tags - - - - - - - - - - -Branches -Tags - - - - - - - - - - - - - - -View all branches - - - - - - - - - - - - - - - -View all tags - - - - - - - - - -corefx/LICENSE.TXT - - Go to file - - - - - - - - - -Go to file -T - - - -Go to line -L - - - - - - - Copy path - - - - - -Copy permalink - - - - - - - - - - -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. - - - - - - - - - - -ViktorHofer - -Rename LICENSE to LICENSE.TXT (#42000) - - - - - - - - -Latest commit -23f5ecd -Oct 22, 2019 - - - - - - -History - - - - - - - - - - - -2 - - contributors - - - - - - - - - - Users who have contributed to this file - - - - - - - - - - - - - - - - - - - - - - - - 23 lines (18 sloc) - - 1.09 KB - - - - Raw - Blame - - - - - - - - - - - - - - - Edit this file -E - - Open in GitHub Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - View raw - - - - - - - View blame - - - - - - - - - - - - - -The MIT License (MIT) - - - - - - - - -Copyright (c) .NET Foundation and Contributors - - - - - - - - -All rights reserved. - - - - - - - - -Permission is hereby granted, free of charge, to any person obtaining a copy - - - -of this software and associated documentation files (the "Software"), to deal - - - -in the Software without restriction, including without limitation the rights - - - -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - -copies of the Software, and to permit persons to whom the Software is - - - -furnished to do so, subject to the following conditions: - - - - - - - - -The above copyright notice and this permission notice shall be included in all - - - -copies or substantial portions of the Software. - - - - - - - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - -SOFTWARE. - - - - - - - - - - - - - - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - - - - - -Footer - - - - - - - - - © 2022 GitHub, Inc. - - - - -Footer navigation - -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About - - - - - - - - - - - - - - - - - You can’t perform that action at this time. - - - - - -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. -``` - -</details> - - -<details> -<summary>System.Reflection.Primitives 4.3.0</summary> - -## System.Reflection.Primitives - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Primitives/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Reflection.TypeExtensions 4.3.0</summary> - -## System.Reflection.TypeExtensions - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Resources.ResourceManager 4.3.0</summary> - -## System.Resources.ResourceManager - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Resources.ResourceManager/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime 4.3.0</summary> - -## System.Runtime - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime 4.3.1</summary> - -## System.Runtime - -- Version: 4.3.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.1) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.CompilerServices.Unsafe 4.5.1</summary> - -## System.Runtime.CompilerServices.Unsafe - -- Version: 4.5.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.1) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - - - - - - - - - - - - - - - - - - - - - - -dotnet - -/ - -corefx - -Public - - - - - - -Notifications - - - - - -Fork - 5.2k - - - - - - - - Star - 17.9k - - - - - - - - - - - - - - - - -Code - - - - - - - -Pull requests -6 - - - - - - -Security - - - - - - - -Insights - - - - - - - - -More - - - - - - - Code - - - - Pull requests - - - - Security - - - - Insights - - - - - - - - - - -Permalink - - - - - - - -master - - - - - -Switch branches/tags - - - - - - - - - - -Branches -Tags - - - - - - - - - - - - - - -View all branches - - - - - - - - - - - - - - - -View all tags - - - - - - - - - -corefx/LICENSE.TXT - - Go to file - - - - - - - - - -Go to file -T - - - -Go to line -L - - - - - - - Copy path - - - - - -Copy permalink - - - - - - - - - - -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. - - - - - - - - - - -ViktorHofer - -Rename LICENSE to LICENSE.TXT (#42000) - - - - - - - - -Latest commit -23f5ecd -Oct 22, 2019 - - - - - - -History - - - - - - - - - - - -2 - - contributors - - - - - - - - - - Users who have contributed to this file - - - - - - - - - - - - - - - - - - - - - - - - 23 lines (18 sloc) - - 1.09 KB - - - - Raw - Blame - - - - - - - - - - - - - - - Edit this file -E - - Open in GitHub Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - View raw - - - - - - - View blame - - - - - - - - - - - - - -The MIT License (MIT) - - - - - - - - -Copyright (c) .NET Foundation and Contributors - - - - - - - - -All rights reserved. - - - - - - - - -Permission is hereby granted, free of charge, to any person obtaining a copy - - - -of this software and associated documentation files (the "Software"), to deal - - - -in the Software without restriction, including without limitation the rights - - - -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - -copies of the Software, and to permit persons to whom the Software is - - - -furnished to do so, subject to the following conditions: - - - - - - - - -The above copyright notice and this permission notice shall be included in all - - - -copies or substantial portions of the Software. - - - - - - - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - -SOFTWARE. - - - - - - - - - - - - - - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - - - - - -Footer - - - - - - - - - © 2022 GitHub, Inc. - - - - -Footer navigation - -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About - - - - - - - - - - - - - - - - - You can’t perform that action at this time. - - - - - -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. -``` - -</details> - - -<details> -<summary>System.Runtime.CompilerServices.Unsafe 6.0.0</summary> - -## System.Runtime.CompilerServices.Unsafe - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Runtime.Extensions 4.3.0</summary> - -## System.Runtime.Extensions - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Extensions/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Handles 4.3.0</summary> - -## System.Runtime.Handles - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Handles/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.InteropServices 4.3.0</summary> - -## System.Runtime.InteropServices - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.InteropServices.RuntimeInformation 4.3.0</summary> - -## System.Runtime.InteropServices.RuntimeInformation - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices.RuntimeInformation/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Loader 4.3.0</summary> - -## System.Runtime.Loader - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Loader/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Numerics 4.3.0</summary> - -## System.Runtime.Numerics - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Numerics/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Serialization.Formatters 4.3.0</summary> - -## System.Runtime.Serialization.Formatters - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Formatters/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Serialization.Primitives 4.1.1</summary> - -## System.Runtime.Serialization.Primitives - -- Version: 4.1.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.1.1) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Runtime.Serialization.Primitives 4.3.0</summary> - -## System.Runtime.Serialization.Primitives - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.AccessControl 4.5.0</summary> - -## System.Security.AccessControl - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - - - - - - - - - - - - - - - - - - - - - - -dotnet - -/ - -corefx - -Public - - - - - - -Notifications - - - - - -Fork - 5.2k - - - - - - - - Star - 17.9k - - - - - - - - - - - - - - - - -Code - - - - - - - -Pull requests -6 - - - - - - -Security - - - - - - - -Insights - - - - - - - - -More - - - - - - - Code - - - - Pull requests - - - - Security - - - - Insights - - - - - - - - - - -Permalink - - - - - - - -master - - - - - -Switch branches/tags - - - - - - - - - - -Branches -Tags - - - - - - - - - - - - - - -View all branches - - - - - - - - - - - - - - - -View all tags - - - - - - - - - -corefx/LICENSE.TXT - - Go to file - - - - - - - - - -Go to file -T - - - -Go to line -L - - - - - - - Copy path - - - - - -Copy permalink - - - - - - - - - - -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. - - - - - - - - - - -ViktorHofer - -Rename LICENSE to LICENSE.TXT (#42000) - - - - - - - - -Latest commit -23f5ecd -Oct 22, 2019 - - - - - - -History - - - - - - - - - - - -2 - - contributors - - - - - - - - - - Users who have contributed to this file - - - - - - - - - - - - - - - - - - - - - - - - 23 lines (18 sloc) - - 1.09 KB - - - - Raw - Blame - - - - - - - - - - - - - - - Edit this file -E - - Open in GitHub Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - View raw - - - - - - - View blame - - - - - - - - - - - - - -The MIT License (MIT) - - - - - - - - -Copyright (c) .NET Foundation and Contributors - - - - - - - - -All rights reserved. - - - - - - - - -Permission is hereby granted, free of charge, to any person obtaining a copy - - - -of this software and associated documentation files (the "Software"), to deal - - - -in the Software without restriction, including without limitation the rights - - - -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - -copies of the Software, and to permit persons to whom the Software is - - - -furnished to do so, subject to the following conditions: - - - - - - - - -The above copyright notice and this permission notice shall be included in all - - - -copies or substantial portions of the Software. - - - - - - - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - -SOFTWARE. - - - - - - - - - - - - - - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - - - - - -Footer - - - - - - - - - © 2022 GitHub, Inc. - - - - -Footer navigation - -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About - - - - - - - - - - - - - - - - - You can’t perform that action at this time. - - - - - -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. -``` - -</details> - - -<details> -<summary>System.Security.Claims 4.3.0</summary> - -## System.Security.Claims - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Claims/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.Algorithms 4.3.0</summary> - -## System.Security.Cryptography.Algorithms - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Algorithms/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.Cng 4.3.0</summary> - -## System.Security.Cryptography.Cng - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Cng/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.Csp 4.3.0</summary> - -## System.Security.Cryptography.Csp - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Csp/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.Encoding 4.3.0</summary> - -## System.Security.Cryptography.Encoding - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Encoding/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.OpenSsl 4.3.0</summary> - -## System.Security.Cryptography.OpenSsl - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.OpenSsl/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.Primitives 4.3.0</summary> - -## System.Security.Cryptography.Primitives - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Primitives/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.ProtectedData 4.5.0</summary> - -## System.Security.Cryptography.ProtectedData - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - - - - - - - - - - - - - - - - - - - - - - -dotnet - -/ - -corefx - -Public - - - - - - -Notifications - - - - - -Fork - 5.2k - - - - - - - - Star - 17.9k - - - - - - - - - - - - - - - - -Code - - - - - - - -Pull requests -6 - - - - - - -Security - - - - - - - -Insights - - - - - - - - -More - - - - - - - Code - - - - Pull requests - - - - Security - - - - Insights - - - - - - - - - - -Permalink - - - - - - - -master - - - - - -Switch branches/tags - - - - - - - - - - -Branches -Tags - - - - - - - - - - - - - - -View all branches - - - - - - - - - - - - - - - -View all tags - - - - - - - - - -corefx/LICENSE.TXT - - Go to file - - - - - - - - - -Go to file -T - - - -Go to line -L - - - - - - - Copy path - - - - - -Copy permalink - - - - - - - - - - -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. - - - - - - - - - - -ViktorHofer - -Rename LICENSE to LICENSE.TXT (#42000) - - - - - - - - -Latest commit -23f5ecd -Oct 22, 2019 - - - - - - -History - - - - - - - - - - - -2 - - contributors - - - - - - - - - - Users who have contributed to this file - - - - - - - - - - - - - - - - - - - - - - - - 23 lines (18 sloc) - - 1.09 KB - - - - Raw - Blame - - - - - - - - - - - - - - - Edit this file -E - - Open in GitHub Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - View raw - - - - - - - View blame - - - - - - - - - - - - - -The MIT License (MIT) - - - - - - - - -Copyright (c) .NET Foundation and Contributors - - - - - - - - -All rights reserved. - - - - - - - - -Permission is hereby granted, free of charge, to any person obtaining a copy - - - -of this software and associated documentation files (the "Software"), to deal - - - -in the Software without restriction, including without limitation the rights - - - -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - -copies of the Software, and to permit persons to whom the Software is - - - -furnished to do so, subject to the following conditions: - - - - - - - - -The above copyright notice and this permission notice shall be included in all - - - -copies or substantial portions of the Software. - - - - - - - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - -SOFTWARE. - - - - - - - - - - - - - - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - - - - - -Footer - - - - - - - - - © 2022 GitHub, Inc. - - - - -Footer navigation - -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About - - - - - - - - - - - - - - - - - You can’t perform that action at this time. - - - - - -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. -``` - -</details> - - -<details> -<summary>System.Security.Cryptography.X509Certificates 4.3.0</summary> - -## System.Security.Cryptography.X509Certificates - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.X509Certificates/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Security.Permissions 4.5.0</summary> - -## System.Security.Permissions - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Permissions/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - - - - Education - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - -No suggested jump to results - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this organization - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - - - - - - - - - - - In this repository - - - All GitHub - -↵ - - - Jump to - ↵ - - - - - - - - - - - - Sign in - - - - Sign up - +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Console 4.3.0</summary> +## System.Console +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Console/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Diagnostics.Debug 4.3.0</summary> +## System.Diagnostics.Debug +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Debug/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY -dotnet +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. -/ +If +you comply with these license terms, you have the rights below. -corefx +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -Public +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Diagnostics.DiagnosticSource 4.3.0</summary> - +## System.Diagnostics.DiagnosticSource -Notifications +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS - +MICROSOFT .NET +LIBRARY -Fork - 5.2k +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - +</details> - Star - 17.9k - +<details> +<summary>System.Diagnostics.DiagnosticSource 6.0.0</summary> +## System.Diagnostics.DiagnosticSource +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Diagnostics.EventLog 6.0.0</summary> +## System.Diagnostics.EventLog +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.EventLog/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) -Code +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` -Pull requests -6 +</details> +<details> +<summary>System.Diagnostics.Tools 4.3.0</summary> +## System.Diagnostics.Tools +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tools/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -Security +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> -Insights +<details> +<summary>System.Diagnostics.Tracing 4.3.0</summary> +## System.Diagnostics.Tracing - - +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tracing/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS -More +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Code - +</details> - Pull requests - +<details> +<summary>System.Drawing.Common 4.5.0</summary> +## System.Drawing.Common - Security - +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Drawing.Common/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - Insights - +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Dynamic.Runtime 4.0.11</summary> -Permalink +## System.Dynamic.Runtime +- Version: 4.0.11 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.0.11) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. -master +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Dynamic.Runtime 4.3.0</summary> -Switch branches/tags +## System.Dynamic.Runtime +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> -Branches -Tags +<details> +<summary>System.Globalization 4.3.0</summary> +## System.Globalization +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Globalization.Calendars 4.3.0</summary> -View all branches +## System.Globalization.Calendars +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Calendars/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Globalization.Extensions 4.3.0</summary> +## System.Globalization.Extensions +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -View all tags +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.IO 4.3.0</summary> -corefx/LICENSE.TXT +## System.IO - Go to file +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -Go to file -T - +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - -Go to line -L +</details> - +<details> +<summary>System.IO.Abstractions 17.0.24</summary> +## System.IO.Abstractions - - Copy path +- Version: 17.0.24 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.0.24) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - +``` +The MIT License (MIT) +Copyright (c) Tatham Oddie and Contributors -Copy permalink +All rights reserved. - +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.IO.Abstractions 17.1.1</summary> +## System.IO.Abstractions +- Version: 17.1.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.1.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. +``` +The MIT License (MIT) +Copyright (c) Tatham Oddie and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.IO.Abstractions.TestingHelpers 17.0.24</summary> -ViktorHofer +## System.IO.Abstractions.TestingHelpers -Rename LICENSE to LICENSE.TXT (#42000) +- Version: 17.0.24 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.0.24) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) +``` +The MIT License (MIT) +Copyright (c) Tatham Oddie and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` -Latest commit -23f5ecd -Oct 22, 2019 +</details> +<details> +<summary>System.IO.Abstractions.TestingHelpers 17.1.1</summary> +## System.IO.Abstractions.TestingHelpers +- Version: 17.1.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.1.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) -History +``` +The MIT License (MIT) +Copyright (c) Tatham Oddie and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.IO.Compression 4.3.0</summary> +## System.IO.Compression +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -2 - - contributors - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> - Users who have contributed to this file - +<details> +<summary>System.IO.Compression.ZipFile 4.3.0</summary> +## System.IO.Compression.ZipFile +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression.ZipFile/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> - +<details> +<summary>System.IO.FileSystem 4.3.0</summary> +## System.IO.FileSystem +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. - 23 lines (18 sloc) - - 1.09 KB - +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Raw - Blame - +</details> +<details> +<summary>System.IO.FileSystem.Primitives 4.3.0</summary> - +## System.IO.FileSystem.Primitives +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem.Primitives/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY - +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - Edit this file -E +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Open in GitHub Desktop - +</details> +<details> +<summary>System.Linq 4.3.0</summary> +## System.Linq +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Linq/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Linq.Async 6.0.1</summary> +## System.Linq.Async +- Version: 6.0.1 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Async/6.0.1) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> - View raw - +<details> +<summary>System.Linq.Expressions 4.3.0</summary> +## System.Linq.Expressions +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Expressions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - View blame - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Memory 4.5.1</summary> +## System.Memory +- Version: 4.5.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.1) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` The MIT License (MIT) - - - - - - - Copyright (c) .NET Foundation and Contributors - - - - - - - All rights reserved. - - - - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - - of this software and associated documentation files (the "Software"), to deal - - - in the Software without restriction, including without limitation the rights - - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - copies of the Software, and to permit persons to whom the Software is - - - furnished to do so, subject to the following conditions: - - - - - - - The above copyright notice and this permission notice shall be included in all - - - copies or substantial portions of the Software. - - - - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - SOFTWARE. +``` +</details> +<details> +<summary>System.Memory 4.5.4</summary> +## System.Memory +- Version: 4.5.4 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.4) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` - Copy lines - - - - - Copy permalink - - -View git blame - - - - - - - - - - - Go - - - - - - - +</details> +<details> +<summary>System.Net.Http 4.3.0</summary> +## System.Net.Http -Footer +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - - © 2022 GitHub, Inc. - +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> -Footer navigation +<details> +<summary>System.Net.Http 4.3.4</summary> -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About +## System.Net.Http +- Version: 4.3.4 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.4) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Net.NameResolution 4.3.0</summary> +## System.Net.NameResolution +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Net.NameResolution/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS - You can’t perform that action at this time. - +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. ``` </details> <details> -<summary>System.Security.Principal 4.3.0</summary> +<summary>System.Net.Primitives 4.3.0</summary> -## System.Security.Principal +## System.Net.Primitives - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -31380,15 +18854,15 @@ consequential or other damages. <details> -<summary>System.Security.Principal.Windows 4.3.0</summary> +<summary>System.Net.Primitives 4.3.1</summary> -## System.Security.Principal.Windows +## System.Net.Primitives -- Version: 4.3.0 +- Version: 4.3.1 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.1) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -31580,57 +19054,15 @@ consequential or other damages. <details> -<summary>System.Security.Principal.Windows 4.5.0</summary> - -## System.Security.Principal.Windows - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/4.5.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Text.Encoding 4.3.0</summary> +<summary>System.Net.Sockets 4.3.0</summary> -## System.Text.Encoding +## System.Net.Sockets - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Text.Encoding/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Sockets/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -31818,1003 +19250,6821 @@ your state or country may not allow the exclusion or limitation of incidental, consequential or other damages. ``` -</details> - - -<details> -<summary>System.Text.Encoding.CodePages 4.6.0</summary> - -## System.Text.Encoding.CodePages - -- Version: 4.6.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://github.com/dotnet/corefx -- Source: [NuGet](https://www.nuget.org/packages/System.Text.Encoding.CodePages/4.6.0) -- License: [MIT](https://github.com/dotnet/corefx/blob/master/LICENSE.TXT) - - -``` -corefx/LICENSE.TXT at master · dotnet/corefx · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Skip to content - - - - - - - - - - - - - - - - - - Sign up - - - - - - - - - - - - - - - - - - Product - - - - - - - Features - - - - Mobile - - - - Actions - - - - Codespaces - - - - Copilot - - - - Packages - - - - Security - - - - Code review - - - - Issues - - - - Discussions - - - - Integrations - - - - GitHub Sponsors - - - - Customer stories - - - - - - -Team - - -Enterprise - - - - - Explore - - - - - - - Explore GitHub - -Learn and contribute - - - Topics - - - - Collections - - - - Trending - - - - Skills - - - - GitHub Sponsors - - - - Open source guides - -Connect with others - - - The ReadME Project - - - - Events - - - - Community forum - - - - GitHub Education - - - - GitHub Stars program - - - - - - -Marketplace - - - - - Pricing - - - - - - - Plans - - - - Compare plans - - - - Contact Sales - +</details> - Education - +<details> +<summary>System.ObjectModel 4.3.0</summary> +## System.ObjectModel +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.ObjectModel/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Private.Uri 4.3.0</summary> +## System.Private.Uri +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Private.Uri/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reactive 5.0.0</summary> +## System.Reactive +- Version: 5.0.0 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Reactive/5.0.0) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> - In this repository - +<details> +<summary>System.Reactive.Linq 5.0.0</summary> - All GitHub - -↵ +## System.Reactive.Linq +- Version: 5.0.0 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Reactive.Linq/5.0.0) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - Jump to - ↵ +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -No suggested jump to results +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Reflection 4.3.0</summary> +## System.Reflection +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.Emit 4.3.0</summary> +## System.Reflection.Emit +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY - In this repository - +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - All GitHub - -↵ +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - Jump to - ↵ +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.Emit.ILGeneration 4.3.0</summary> +## System.Reflection.Emit.ILGeneration +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.Emit.Lightweight 4.3.0</summary> +## System.Reflection.Emit.Lightweight +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY - In this organization - +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - All GitHub - -↵ +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - Jump to - ↵ +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.Extensions 4.3.0</summary> +## System.Reflection.Extensions +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Extensions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.Metadata 1.6.0</summary> +## System.Reflection.Metadata +- Version: 1.6.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Metadata/1.6.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors - In this repository - +All rights reserved. - All GitHub - -↵ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Jump to - ↵ +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Reflection.Primitives 4.3.0</summary> +## System.Reflection.Primitives +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Primitives/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - Sign in - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - Sign up - +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Reflection.TypeExtensions 4.3.0</summary> +## System.Reflection.TypeExtensions +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Resources.ResourceManager 4.3.0</summary> +## System.Resources.ResourceManager +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Resources.ResourceManager/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY -dotnet +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. -/ +If +you comply with these license terms, you have the rights below. -corefx +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -Public +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime 4.3.0</summary> - +## System.Runtime -Notifications +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS - +MICROSOFT .NET +LIBRARY -Fork - 5.2k +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - +</details> - Star - 17.9k - +<details> +<summary>System.Runtime 4.3.1</summary> +## System.Runtime +- Version: 4.3.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.1) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.CompilerServices.Unsafe 4.5.1</summary> +## System.Runtime.CompilerServices.Unsafe +- Version: 4.5.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.1) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) -Code +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` -Pull requests -6 +</details> +<details> +<summary>System.Runtime.CompilerServices.Unsafe 6.0.0</summary> +## System.Runtime.CompilerServices.Unsafe +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) -Security +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> -Insights +<details> +<summary>System.Runtime.Extensions 4.3.0</summary> +## System.Runtime.Extensions - - +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Extensions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS -More +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Code - +</details> - Pull requests - +<details> +<summary>System.Runtime.Handles 4.3.0</summary> +## System.Runtime.Handles - Security - +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Handles/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - Insights - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.InteropServices 4.3.0</summary> -Permalink +## System.Runtime.InteropServices +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. -master +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.InteropServices.RuntimeInformation 4.3.0</summary> -Switch branches/tags +## System.Runtime.InteropServices.RuntimeInformation +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices.RuntimeInformation/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> -Branches -Tags +<details> +<summary>System.Runtime.Loader 4.3.0</summary> +## System.Runtime.Loader +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Loader/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.Numerics 4.3.0</summary> -View all branches +## System.Runtime.Numerics +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Numerics/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.Serialization.Formatters 4.3.0</summary> +## System.Runtime.Serialization.Formatters +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Formatters/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -View all tags +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Runtime.Serialization.Primitives 4.1.1</summary> -corefx/LICENSE.TXT +## System.Runtime.Serialization.Primitives - Go to file +- Version: 4.1.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.1.1) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -Go to file -T - +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - -Go to line -L +</details> - +<details> +<summary>System.Runtime.Serialization.Primitives 4.3.0</summary> +## System.Runtime.Serialization.Primitives - - Copy path +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY -Copy permalink +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. - +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Security.AccessControl 4.5.0</summary> +## System.Security.AccessControl +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) -This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> +<details> +<summary>System.Security.Claims 4.3.0</summary> -ViktorHofer +## System.Security.Claims -Rename LICENSE to LICENSE.TXT (#42000) +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Claims/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` -Latest commit -23f5ecd -Oct 22, 2019 +</details> +<details> +<summary>System.Security.Cryptography.Algorithms 4.3.0</summary> +## System.Security.Cryptography.Algorithms +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Algorithms/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -History +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Security.Cryptography.Cng 4.3.0</summary> +## System.Security.Cryptography.Cng +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Cng/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) -2 - - contributors - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> - Users who have contributed to this file - +<details> +<summary>System.Security.Cryptography.Csp 4.3.0</summary> +## System.Security.Cryptography.Csp +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Csp/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> - +<details> +<summary>System.Security.Cryptography.Encoding 4.3.0</summary> +## System.Security.Cryptography.Encoding +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Encoding/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. - 23 lines (18 sloc) - - 1.09 KB - +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Raw - Blame - +</details> +<details> +<summary>System.Security.Cryptography.OpenSsl 4.3.0</summary> - +## System.Security.Cryptography.OpenSsl +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.OpenSsl/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY - +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  - Edit this file -E +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Open in GitHub Desktop - +</details> +<details> +<summary>System.Security.Cryptography.Primitives 4.3.0</summary> +## System.Security.Cryptography.Primitives +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Primitives/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Security.Cryptography.ProtectedData 4.5.0</summary> +## System.Security.Cryptography.ProtectedData +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> - View raw - +<details> +<summary>System.Security.Cryptography.X509Certificates 4.3.0</summary> +## System.Security.Cryptography.X509Certificates +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.X509Certificates/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - View blame - +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Security.Permissions 4.5.0</summary> +## System.Security.Permissions +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Permissions/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` The MIT License (MIT) - - - - - - - Copyright (c) .NET Foundation and Contributors - - - - - - - All rights reserved. - - - - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - - of this software and associated documentation files (the "Software"), to deal - - - in the Software without restriction, including without limitation the rights - - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - - copies of the Software, and to permit persons to whom the Software is - - - furnished to do so, subject to the following conditions: - - - - - - - The above copyright notice and this permission notice shall be included in all - - - copies or substantial portions of the Software. - - - - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - - SOFTWARE. +``` +</details> +<details> +<summary>System.Security.Principal 4.3.0</summary> +## System.Security.Principal +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` - Copy lines - - - - - Copy permalink - - -View git blame - - - - +</details> +<details> +<summary>System.Security.Principal.Windows 4.3.0</summary> +## System.Security.Principal.Windows +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - Go +``` +MICROSOFT SOFTWARE LICENSE +TERMS - +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Security.Principal.Windows 4.5.0</summary> +## System.Security.Principal.Windows -Footer +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/4.5.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +``` +The MIT License (MIT) +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - - © 2022 GitHub, Inc. - +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` +</details> -Footer navigation +<details> +<summary>System.Text.Encoding 4.3.0</summary> -Terms -Privacy -Security -Status -Docs -Contact GitHub -Pricing -API -Training -Blog -About +## System.Text.Encoding +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Text.Encoding/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +``` +MICROSOFT SOFTWARE LICENSE +TERMS +MICROSOFT .NET +LIBRARY +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. +If +you comply with these license terms, you have the rights below. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` +</details> +<details> +<summary>System.Text.Encoding.CodePages 4.6.0</summary> +## System.Text.Encoding.CodePages +- Version: 4.6.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/corefx +- Source: [NuGet](https://www.nuget.org/packages/System.Text.Encoding.CodePages/4.6.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +``` +The MIT License (MIT) - You can’t perform that action at this time. - +Copyright (c) .NET Foundation and Contributors +All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -You signed in with another tab or window. Reload to refresh your session. -You signed out in another tab or window. Reload to refresh your session. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> From 1579f20d35fece03ecf773a7f85bd2f0f3c7c8f0 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:15:50 -0700 Subject: [PATCH 019/101] Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> From 82eb3101f7a70abbc80f3d8cfb801b6fbc3760cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:18:40 -0700 Subject: [PATCH 020/101] Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 2fa16ea18..425c0d23b 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -52,7 +52,7 @@ <ItemGroup> <PackageReference Include="Crayon" Version="2.0.64" /> - <PackageReference Include="Docker.DotNet" Version="3.125.10" /> + <PackageReference Include="Docker.DotNet" Version="3.125.11" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> From c758629b374220ae32b0fe582c1a27b5bbfd3986 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:19:02 -0700 Subject: [PATCH 021/101] Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- src/Common/Monai.Deploy.InformaticsGateway.Common.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Configuration.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 425c0d23b..16de01e52 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -62,6 +62,6 @@ <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.CommandLine.Rendering" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> </ItemGroup> </Project> diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index 00cf5ca79..e905e44ac 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -32,7 +32,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="System.IO.Abstractions" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> <PackageReference Include="System.Threading.Tasks.Dataflow" Version="6.0.0" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 2d453ff3d..a9fc2b084 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -32,7 +32,7 @@ <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.4" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> - <PackageReference Include="System.IO.Abstractions" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> </ItemGroup> <ItemGroup> From d469873c254df9c25b921bec4063f933ce6a4df1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:19:19 -0700 Subject: [PATCH 022/101] Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj | 2 +- src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Configuration.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Test.csproj | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 1a9324738..6768705d2 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -33,7 +33,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index b71179f16..46dc3f33e 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -35,7 +35,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index bb1b39a2c..75f0365f3 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index e24b6a122..a0366eaa1 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -35,7 +35,7 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 98d1695e4..27f1f639b 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -39,7 +39,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.1.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> From 1932b08fb12a98be366dfcc011881e537da6b127 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 20:01:20 -0700 Subject: [PATCH 023/101] Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- doc/dependency_decisions.yml | 39 +- docs/compliance/third-party-licenses.md | 13216 +++++++++------------- 2 files changed, 5642 insertions(+), 7613 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 5fd47cc17..7e09baf68 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -81,7 +81,7 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/Docker.DotNet/raw/master/LICENSE) :versions: - - 3.125.10 + - 3.125.11 :when: 2022-08-16 23:05:32.422217566 Z - - :approve - DotNext @@ -716,28 +716,14 @@ - - :approve - Microsoft.NET.Test.Sdk - :who: mocsharp - :why: MIT ( https://aka.ms/deprecateLicenseUrl) - :versions: - - 17.1.0 - :when: 2022-08-16 23:06:12.107365387 Z -- - :approve - - Microsoft.NET.Test.Sdk - - :who: mocsharp - :why: MIT ( https://aka.ms/deprecateLicenseUrl) - :versions: - - 17.2.0 - :when: 2022-08-16 23:06:12.556082109 Z -- - :approve - - Microsoft.NET.Test.Sdk - - :who: mocsharp - :why: MIT ( https://aka.ms/deprecateLicenseUrl) + :why: MIT (https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) :versions: - 17.3.1 :when: 2022-09-01 23:06:13.008314524 Z - - :approve - Microsoft.NETCore.Platforms - :who: mocsharp - :why: MICROSOFT .NET LIBRARY License ( http://go.microsoft.com/fwlink/?LinkId=329770) + :why: MICROSOFT .NET LIBRARY License (http://go.microsoft.com/fwlink/?LinkId=329770) :versions: - 1.1.0 :when: 2022-08-16 23:06:13.457444370 Z @@ -1299,28 +1285,14 @@ - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.0.24 - :when: 2022-08-16 23:06:50.154940671 Z -- - :approve - - System.IO.Abstractions - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - :versions: - - 17.1.1 + - 17.2.1 :when: 2022-08-16 23:06:50.602318269 Z - - :approve - System.IO.Abstractions.TestingHelpers - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.0.24 - :when: 2022-08-16 23:06:51.058360011 Z -- - :approve - - System.IO.Abstractions.TestingHelpers - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - :versions: - - 17.1.1 + - 17.2.1 :when: 2022-08-16 23:06:51.524564913 Z - - :approve - System.IO.Compression @@ -2428,3 +2400,4 @@ :versions: - 4.0.1 :when: 2022-08-16 23:10:21.184627612 Z + \ No newline at end of file diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 2cc30e034..f32324ae8 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -706,13 +706,13 @@ SOFTWARE. <details> -<summary>Docker.DotNet 3.125.10</summary> +<summary>Docker.DotNet 3.125.11</summary> ## Docker.DotNet -- Version: 3.125.10 +- Version: 3.125.11 - Authors: Docker.DotNet -- Source: [NuGet](https://www.nuget.org/packages/Docker.DotNet/3.125.10) +- Source: [NuGet](https://www.nuget.org/packages/Docker.DotNet/3.125.11) - License: [MIT](https://github.com/dotnet/Docker.DotNet/raw/master/LICENSE) @@ -1349,60 +1349,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -1410,13 +1410,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -1424,42 +1424,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -1471,19 +1471,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2446,60 +2446,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -2507,13 +2507,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2521,42 +2521,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2568,19 +2568,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2646,60 +2646,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -2707,13 +2707,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2721,42 +2721,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2768,19 +2768,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5066,1899 +5066,38 @@ SOFTWARE. <details> -<summary>Microsoft.NET.Test.Sdk 17.1.0</summary> - -## Microsoft.NET.Test.Sdk - -- Version: 17.1.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.1.0) -- License: [MIT]( https://aka.ms/deprecateLicenseUrl) - - -``` -Finding and Choosing NuGet Packages | Microsoft Docs - - - - - - - - - -Skip to main content - - - -This browser is no longer supported. -Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. - - -Download Microsoft Edge - -More info - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - -Exit focus mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Read in English - - - - - -Save - - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - - - -Read in English - - - - - -Save - - - - - - -Feedback - - - - - -Edit - - - - - - -Twitter - - - - - -LinkedIn - - - - - -Facebook - - - - - -Email - - - - - - - - - - - - -Table of contents - - - - -Finding and evaluating NuGet packages for your project - - - -Article - -08/09/2022 - -10 minutes to read - - - 12 contributors - - - - - - - - - - - - - -In this article - - -When starting any .NET project, or whenever you identify a functional need for your app or service, you can save yourself lots of time and trouble by using existing NuGet packages that fulfill that need. These packages can come from the public collection on nuget.org, or a private source that's provided by your organization or another third party. -Finding packages -When you visit nuget.org or open the Package Manager UI in Visual Studio, you see a list of packages sorted by relevancy. This shows you the most widely used packages across all .NET projects. There's a good chance that some of these packages may be useful for your own projects! - -On nuget.org, notice the Filter button on the upper right of the page. When clicked, the Advanced Search panel expands to present sorting and filtering options. - -You can use the Package type filter to show packages of a specific type: - -All types: This is the default behavior. It shows all packages regardless of their type. -Dependency: Regular NuGet packages that can be installed into your project. -.NET tool: This filters to .NET tools, a NuGet package that contains a console application. -Template: This filters to .NET templates, which can be used to create new projects using the dotnet new command. - -You can use the Sort by option to sort the search results: - -Relevance: This is the default behavior. It sorts results according to an internal scoring algorithm. -Downloads: Sorts the search results by the total number of downloads, in descending order. -Recently updated: Sorts the search results by their latest version's creation date, in descending chronological order. - -In the Options section, we can find the Include prerelease checkbox. -When checked, nuget.org shows all versions of packages including pre-releases. To show only stable versions, clear the option. -To apply the search filters, click on the Apply button. You can always get back to the default behavior by clicking on the Reset button. -You can also use the search syntax to filter on tags, owners, and package IDs. -Does the package support my project's target framework? -NuGet installs a package into a project only if that package's supported frameworks include the project's target framework. If the package is not compatible, NuGet issues an error. -Some packages list their supported frameworks directly in the nuget.org gallery, but because such data is not required, many packages do not include that list. At present there is no means to search nuget.org for packages that support a specific target framework (the feature is under consideration, see NuGet Issue 2936). -Fortunately, you can determine supported frameworks through two other means: - -Attempt to install a package into a project using the Install-Package command in the NuGet Package Manager Console. If the package is incompatible, this command shows you the package's supported frameworks. - -Download the package from its page on nuget.org using the Manual download link under Info. Change the extension from .nupkg to .zip, and open the file to examine the content of its lib folder. There you see subfolders for each of the supported frameworks, where each subfolder is named with a target framework moniker (TFM; see Target Frameworks). If you see no subfolders under lib and only a single DLL, then you must attempt to install the package in your project to discover its compatibility. - - -Pre-release packages -Many package authors make preview and beta releases available as they continue to make improvements and seek feedback on their latest revisions. -By default, nuget.org shows pre-release packages in search results. To search only stable releases, clear the Include prerelease option in the Advanced Search panel that is accessible from the Filter button on the upper right of the page - -In Visual Studio, and when using the NuGet and dotnet CLI tools, NuGet does not include pre-release versions by default. To change this behavior, do the following steps: - -Package Manager UI in Visual Studio: In the Manage NuGet Packages UI, set the Include prerelease box. Setting or clearing this box refreshes the Package Manager UI and the list of available versions you can install. - - -Package Manager Console: Use the -IncludePrerelease switch with the Find-Package, Get-Package, Install-Package, Sync-Package, and Update-Package commands. Refer to the PowerShell Reference. - -nuget.exe CLI: Use the -prerelease switch with the install, update, delete, and mirror commands. Refer to the NuGet CLI reference - -dotnet.exe CLI: Specify the exact pre-release version using the -v argument. Refer to the dotnet add package reference. - - - -Native C++ packages -NuGet supports native C++ packages can that can be used in C++ projects in Visual Studio. This enables the Manage NuGet Packages context-menu command for projects, introduces a native target framework, and provides MSBuild integration. -To find native packages on nuget.org, search using tag:native. Such packages typically provide .targets and .props files, which NuGet imports automatically when the package is added to a project. -Evaluating packages -The best way to evaluate the usefulness of a package is to download it and try it out in your code (all packages on nuget.org are routinely scanned for viruses, by the way). After all, every highly popular package got started with only a few developers using it, and you might be one of the early adopters! -At the same time, using a NuGet package means taking a dependency on it, so you want to make sure it's robust and reliable. Because installing and directly testing a package is time-consuming, you can also learn a lot about a package's quality by using the information on a package's listing page: - -Downloads statistics: on the package page on nuget.org, the Statistics section shows total downloads, downloads of the most recent version, and average downloads per day. Larger numbers indicate that many other developers have taken a dependency on the package, which means that it has proven itself. - - -Used By: on the package page, the Used By section lists the top 5 most popular NuGet.org packages and popular GitHub repositories that depend on this package. Packages and repos that depend on this package can be called "dependents" of this package. Dependent packages and repos can be seen as "endorsements" of this package, as package authors have chosen to trust and depend on it. - -A dependent package must depend on any version of this package in its latest stable listed version. This definition ensures that displayed dependent packages are an up-to-date reflection of package author's decision to trust and depend on this package. Prerelease dependents are not listed as they are not considered whole-hearted endoresements yet. See the following table for examples: - - - -Package A versions -Package A is a listed as a dependent of Package B? - - - - -v1.0.0v1.1.0 (latest stable) --> Package Bv1.2.0-preview -TRUE, latest stable version depends on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview -FALSE, latest stable version does not depend on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview --> Package B -FALSE, latest stable version does not depend on Package B - - - - -A GitHub repository's number of stars generally indicates how popular that repository is with GitHub users (more stars usually means more popular). Please visit GitHub's Getting Started page for more information on GitHub's star and repository ranking system. - - -Note -A package's Used By section is generated automatically, periodically, without human review of individual repositories, and solely for informational purposes in order to show you NuGet.org packages and popular GitHub repositories that depend on the package. - - - - -Version History: on the package page, look under Info for the date of the most recent update and examine the Version History. A well-maintained package has recent updates and a rich version history. Neglected packages have few updates and often haven't been updated in some time. - - -Recent installs: on the package page under Statistics, select View full stats. The full stats page shows the package installs over the last six weeks by version number. A package that other developers are actively using is typically a better choice than one that's not. - -Support: on the package page under Info, select Project Site (if available) to see what support options the author provides. A project with a dedicated site is generally better supported. - -Developer history: on the package page under Owners, select an owner to see what other packages they've published. Those with multiple packages are more likely to continue supporting their work in the future. - -Open source contributions: many packages are maintained in open-source repositories, making it possible for developers depending on them to directly contribute bug fixes and feature improvements. The contribution history of any given package is also a good indicator of how many developers are actively involved. - -Interview the owners: new developers can certainly be equally committed to producing great packages for you to use, and it's good to give them a chance to bring something new to the NuGet ecosystem. With this in mind, reach out directly to the package developers through the Contact Owners option under Info on the listing page. Chances are, they'll be happy to work with you to serve your needs! - -Reserved Package ID Prefixes: many package owners have applied for and have been granted a reserved package ID prefix. When you see the visual checkmark next to a package ID on nuget.org, or in Visual Studio, that means that the package owner has met our criteria for ID prefix reservation. This means the package owner is being clear on identifying themselves and their package. - - - -Note -Always be mindful of a package's license terms, which you can see by selecting License Info on a package's listing page on nuget.org. If a package does not specify license terms, contact the package owner directly using the Contact owners link on the package page. Microsoft does not license any intellectual property to you from third party package providers and is not responsible for information provided by third parties. - -License URL deprecation -As we transition from licenseUrl to license, some NuGet clients and NuGet feeds may not yet have the ability to surface licensing information in some cases. To maintain backward compatibility, the license URL points to this document which talks about how to retrieve the license information in such cases. -If clicking on the license URL for a package brought you to this page, it implies the package contains a license file and - -You are connected to a feed that does not yet know how to interpret and surface the new license information to the client -OR -You are using a client that does not yet know how to interpret and read the new license information that is potentially provided by the feed -OR -A combination of both - -Here is how you could read the information contained in the license file inside the package: - -Download the NuGet package, and unzip its contents to a folder. -Open the .nuspec file which would be at the root of that folder. -It should have a tag like <license type="file">license\license.txt</license>. This implies the license file is named license.txt and it is inside a folder called license which would also be at the root of that folder. -Navigate to the license folder and open the license.txt file. - -For the MSBuild equivalent to setting the license in the .nuspec, take a look at Packing a license expression or a license file. -Search Syntax -Search queries on nuget.org, from the NuGet CLI, and within the NuGet Package Manager extension in -Visual Studio, all use the same syntax. In general, search is applied to keywords as well as package descriptions. - -Advanced Filtering: You can apply a search term to a specific property by using the syntax <property>:<term> where -<property> (case-insensitive) can be id, packageid, version, title, tags, author, description, -summary, and owner. You can search for multiple properties at the same time. Searches on the id property are -substring matches, whereas packageid and owner uses an exact, case-insensitive match. Examples: - -PackageId:jquery # Match the package ID in an exact, case-insensitive manner - -owner:microsoft # Match the owner in an exact, case-insensitive manner - -id:NuGet.Core # Match any part of the ID property -Id:"Nuget.Core" -ID:jQuery -id:jquery id:ui # Search for multiple terms in the ID -id:jquery tags:validation # Search multiple properties - -invalid:jquery ui # Unsupported properties are ignored, so this - # is the same as searching on ui - - -Note -This advanced filtering syntax is supported by nuget.org. Other package sources, like Azure Artifacts or GitHub Package Repository, may use different syntax or may not support advanced filtering. - - - - - - - - - - - - - - -Feedback - -Submit and view feedback for - - -This product - - - -This page - - - - - - -View all page feedback - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - - - - - - - - -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 - - - - - - - - - -In this article - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - - - - - - - - -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 -``` - -</details> - - -<details> -<summary>Microsoft.NET.Test.Sdk 17.2.0</summary> - -## Microsoft.NET.Test.Sdk - -- Version: 17.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.2.0) -- License: [MIT]( https://aka.ms/deprecateLicenseUrl) - - -``` -Finding and Choosing NuGet Packages | Microsoft Docs - - - - - - - - - -Skip to main content - - - -This browser is no longer supported. -Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. - - -Download Microsoft Edge - -More info - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - -Exit focus mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Read in English - - - - - -Save - - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - - - -Read in English - - - - - -Save - - - - - - -Feedback - - - - - -Edit - - - - - - -Twitter - - - - - -LinkedIn - - - - - -Facebook - - - - - -Email - - - - - - - - - - - - -Table of contents - - - - -Finding and evaluating NuGet packages for your project - - - -Article - -08/09/2022 - -10 minutes to read - - - 12 contributors - - - - - - - - - - - - - -In this article - - -When starting any .NET project, or whenever you identify a functional need for your app or service, you can save yourself lots of time and trouble by using existing NuGet packages that fulfill that need. These packages can come from the public collection on nuget.org, or a private source that's provided by your organization or another third party. -Finding packages -When you visit nuget.org or open the Package Manager UI in Visual Studio, you see a list of packages sorted by relevancy. This shows you the most widely used packages across all .NET projects. There's a good chance that some of these packages may be useful for your own projects! - -On nuget.org, notice the Filter button on the upper right of the page. When clicked, the Advanced Search panel expands to present sorting and filtering options. - -You can use the Package type filter to show packages of a specific type: - -All types: This is the default behavior. It shows all packages regardless of their type. -Dependency: Regular NuGet packages that can be installed into your project. -.NET tool: This filters to .NET tools, a NuGet package that contains a console application. -Template: This filters to .NET templates, which can be used to create new projects using the dotnet new command. - -You can use the Sort by option to sort the search results: - -Relevance: This is the default behavior. It sorts results according to an internal scoring algorithm. -Downloads: Sorts the search results by the total number of downloads, in descending order. -Recently updated: Sorts the search results by their latest version's creation date, in descending chronological order. - -In the Options section, we can find the Include prerelease checkbox. -When checked, nuget.org shows all versions of packages including pre-releases. To show only stable versions, clear the option. -To apply the search filters, click on the Apply button. You can always get back to the default behavior by clicking on the Reset button. -You can also use the search syntax to filter on tags, owners, and package IDs. -Does the package support my project's target framework? -NuGet installs a package into a project only if that package's supported frameworks include the project's target framework. If the package is not compatible, NuGet issues an error. -Some packages list their supported frameworks directly in the nuget.org gallery, but because such data is not required, many packages do not include that list. At present there is no means to search nuget.org for packages that support a specific target framework (the feature is under consideration, see NuGet Issue 2936). -Fortunately, you can determine supported frameworks through two other means: - -Attempt to install a package into a project using the Install-Package command in the NuGet Package Manager Console. If the package is incompatible, this command shows you the package's supported frameworks. - -Download the package from its page on nuget.org using the Manual download link under Info. Change the extension from .nupkg to .zip, and open the file to examine the content of its lib folder. There you see subfolders for each of the supported frameworks, where each subfolder is named with a target framework moniker (TFM; see Target Frameworks). If you see no subfolders under lib and only a single DLL, then you must attempt to install the package in your project to discover its compatibility. - - -Pre-release packages -Many package authors make preview and beta releases available as they continue to make improvements and seek feedback on their latest revisions. -By default, nuget.org shows pre-release packages in search results. To search only stable releases, clear the Include prerelease option in the Advanced Search panel that is accessible from the Filter button on the upper right of the page - -In Visual Studio, and when using the NuGet and dotnet CLI tools, NuGet does not include pre-release versions by default. To change this behavior, do the following steps: - -Package Manager UI in Visual Studio: In the Manage NuGet Packages UI, set the Include prerelease box. Setting or clearing this box refreshes the Package Manager UI and the list of available versions you can install. - - -Package Manager Console: Use the -IncludePrerelease switch with the Find-Package, Get-Package, Install-Package, Sync-Package, and Update-Package commands. Refer to the PowerShell Reference. - -nuget.exe CLI: Use the -prerelease switch with the install, update, delete, and mirror commands. Refer to the NuGet CLI reference - -dotnet.exe CLI: Specify the exact pre-release version using the -v argument. Refer to the dotnet add package reference. - - - -Native C++ packages -NuGet supports native C++ packages can that can be used in C++ projects in Visual Studio. This enables the Manage NuGet Packages context-menu command for projects, introduces a native target framework, and provides MSBuild integration. -To find native packages on nuget.org, search using tag:native. Such packages typically provide .targets and .props files, which NuGet imports automatically when the package is added to a project. -Evaluating packages -The best way to evaluate the usefulness of a package is to download it and try it out in your code (all packages on nuget.org are routinely scanned for viruses, by the way). After all, every highly popular package got started with only a few developers using it, and you might be one of the early adopters! -At the same time, using a NuGet package means taking a dependency on it, so you want to make sure it's robust and reliable. Because installing and directly testing a package is time-consuming, you can also learn a lot about a package's quality by using the information on a package's listing page: - -Downloads statistics: on the package page on nuget.org, the Statistics section shows total downloads, downloads of the most recent version, and average downloads per day. Larger numbers indicate that many other developers have taken a dependency on the package, which means that it has proven itself. - - -Used By: on the package page, the Used By section lists the top 5 most popular NuGet.org packages and popular GitHub repositories that depend on this package. Packages and repos that depend on this package can be called "dependents" of this package. Dependent packages and repos can be seen as "endorsements" of this package, as package authors have chosen to trust and depend on it. - -A dependent package must depend on any version of this package in its latest stable listed version. This definition ensures that displayed dependent packages are an up-to-date reflection of package author's decision to trust and depend on this package. Prerelease dependents are not listed as they are not considered whole-hearted endoresements yet. See the following table for examples: - - - -Package A versions -Package A is a listed as a dependent of Package B? - - - - -v1.0.0v1.1.0 (latest stable) --> Package Bv1.2.0-preview -TRUE, latest stable version depends on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview -FALSE, latest stable version does not depend on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview --> Package B -FALSE, latest stable version does not depend on Package B - - - - -A GitHub repository's number of stars generally indicates how popular that repository is with GitHub users (more stars usually means more popular). Please visit GitHub's Getting Started page for more information on GitHub's star and repository ranking system. - - -Note -A package's Used By section is generated automatically, periodically, without human review of individual repositories, and solely for informational purposes in order to show you NuGet.org packages and popular GitHub repositories that depend on the package. - - - - -Version History: on the package page, look under Info for the date of the most recent update and examine the Version History. A well-maintained package has recent updates and a rich version history. Neglected packages have few updates and often haven't been updated in some time. - - -Recent installs: on the package page under Statistics, select View full stats. The full stats page shows the package installs over the last six weeks by version number. A package that other developers are actively using is typically a better choice than one that's not. - -Support: on the package page under Info, select Project Site (if available) to see what support options the author provides. A project with a dedicated site is generally better supported. - -Developer history: on the package page under Owners, select an owner to see what other packages they've published. Those with multiple packages are more likely to continue supporting their work in the future. - -Open source contributions: many packages are maintained in open-source repositories, making it possible for developers depending on them to directly contribute bug fixes and feature improvements. The contribution history of any given package is also a good indicator of how many developers are actively involved. - -Interview the owners: new developers can certainly be equally committed to producing great packages for you to use, and it's good to give them a chance to bring something new to the NuGet ecosystem. With this in mind, reach out directly to the package developers through the Contact Owners option under Info on the listing page. Chances are, they'll be happy to work with you to serve your needs! - -Reserved Package ID Prefixes: many package owners have applied for and have been granted a reserved package ID prefix. When you see the visual checkmark next to a package ID on nuget.org, or in Visual Studio, that means that the package owner has met our criteria for ID prefix reservation. This means the package owner is being clear on identifying themselves and their package. - - - -Note -Always be mindful of a package's license terms, which you can see by selecting License Info on a package's listing page on nuget.org. If a package does not specify license terms, contact the package owner directly using the Contact owners link on the package page. Microsoft does not license any intellectual property to you from third party package providers and is not responsible for information provided by third parties. - -License URL deprecation -As we transition from licenseUrl to license, some NuGet clients and NuGet feeds may not yet have the ability to surface licensing information in some cases. To maintain backward compatibility, the license URL points to this document which talks about how to retrieve the license information in such cases. -If clicking on the license URL for a package brought you to this page, it implies the package contains a license file and - -You are connected to a feed that does not yet know how to interpret and surface the new license information to the client -OR -You are using a client that does not yet know how to interpret and read the new license information that is potentially provided by the feed -OR -A combination of both - -Here is how you could read the information contained in the license file inside the package: - -Download the NuGet package, and unzip its contents to a folder. -Open the .nuspec file which would be at the root of that folder. -It should have a tag like <license type="file">license\license.txt</license>. This implies the license file is named license.txt and it is inside a folder called license which would also be at the root of that folder. -Navigate to the license folder and open the license.txt file. - -For the MSBuild equivalent to setting the license in the .nuspec, take a look at Packing a license expression or a license file. -Search Syntax -Search queries on nuget.org, from the NuGet CLI, and within the NuGet Package Manager extension in -Visual Studio, all use the same syntax. In general, search is applied to keywords as well as package descriptions. - -Advanced Filtering: You can apply a search term to a specific property by using the syntax <property>:<term> where -<property> (case-insensitive) can be id, packageid, version, title, tags, author, description, -summary, and owner. You can search for multiple properties at the same time. Searches on the id property are -substring matches, whereas packageid and owner uses an exact, case-insensitive match. Examples: - -PackageId:jquery # Match the package ID in an exact, case-insensitive manner - -owner:microsoft # Match the owner in an exact, case-insensitive manner - -id:NuGet.Core # Match any part of the ID property -Id:"Nuget.Core" -ID:jQuery -id:jquery id:ui # Search for multiple terms in the ID -id:jquery tags:validation # Search multiple properties - -invalid:jquery ui # Unsupported properties are ignored, so this - # is the same as searching on ui - - -Note -This advanced filtering syntax is supported by nuget.org. Other package sources, like Azure Artifacts or GitHub Package Repository, may use different syntax or may not support advanced filtering. - - - - - - - - - - - - - - -Feedback - -Submit and view feedback for - - -This product - - - -This page - - - - - - -View all page feedback - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - - - - - - - - -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 - - - - - - - - - -In this article - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - - - - - - - - -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 -``` - -</details> - - -<details> -<summary>Microsoft.NET.Test.Sdk 17.3.1</summary> - -## Microsoft.NET.Test.Sdk - -- Version: 17.3.1 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.1) -- License: [MIT]( https://aka.ms/deprecateLicenseUrl) - - -``` -Finding and Choosing NuGet Packages | Microsoft Docs - - - - - - - - - -Skip to main content - - - -This browser is no longer supported. -Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. - - -Download Microsoft Edge - -More info - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - -Exit focus mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Read in English - - - - - -Save - - - - - - - - - - - - - - - - - - - - - - -Table of contents - - - - - -Read in English - - - - - -Save - - - - - - -Feedback - - - - - -Edit - - - - - - -Twitter - - - - - -LinkedIn - - - - - -Facebook - - - - - -Email - - - - - - - - - - - - -Table of contents - - - - -Finding and evaluating NuGet packages for your project - - - -Article - -08/09/2022 - -10 minutes to read - - - 12 contributors - - - - - - - - - - - - - -In this article - - -When starting any .NET project, or whenever you identify a functional need for your app or service, you can save yourself lots of time and trouble by using existing NuGet packages that fulfill that need. These packages can come from the public collection on nuget.org, or a private source that's provided by your organization or another third party. -Finding packages -When you visit nuget.org or open the Package Manager UI in Visual Studio, you see a list of packages sorted by relevancy. This shows you the most widely used packages across all .NET projects. There's a good chance that some of these packages may be useful for your own projects! - -On nuget.org, notice the Filter button on the upper right of the page. When clicked, the Advanced Search panel expands to present sorting and filtering options. - -You can use the Package type filter to show packages of a specific type: - -All types: This is the default behavior. It shows all packages regardless of their type. -Dependency: Regular NuGet packages that can be installed into your project. -.NET tool: This filters to .NET tools, a NuGet package that contains a console application. -Template: This filters to .NET templates, which can be used to create new projects using the dotnet new command. - -You can use the Sort by option to sort the search results: - -Relevance: This is the default behavior. It sorts results according to an internal scoring algorithm. -Downloads: Sorts the search results by the total number of downloads, in descending order. -Recently updated: Sorts the search results by their latest version's creation date, in descending chronological order. - -In the Options section, we can find the Include prerelease checkbox. -When checked, nuget.org shows all versions of packages including pre-releases. To show only stable versions, clear the option. -To apply the search filters, click on the Apply button. You can always get back to the default behavior by clicking on the Reset button. -You can also use the search syntax to filter on tags, owners, and package IDs. -Does the package support my project's target framework? -NuGet installs a package into a project only if that package's supported frameworks include the project's target framework. If the package is not compatible, NuGet issues an error. -Some packages list their supported frameworks directly in the nuget.org gallery, but because such data is not required, many packages do not include that list. At present there is no means to search nuget.org for packages that support a specific target framework (the feature is under consideration, see NuGet Issue 2936). -Fortunately, you can determine supported frameworks through two other means: - -Attempt to install a package into a project using the Install-Package command in the NuGet Package Manager Console. If the package is incompatible, this command shows you the package's supported frameworks. - -Download the package from its page on nuget.org using the Manual download link under Info. Change the extension from .nupkg to .zip, and open the file to examine the content of its lib folder. There you see subfolders for each of the supported frameworks, where each subfolder is named with a target framework moniker (TFM; see Target Frameworks). If you see no subfolders under lib and only a single DLL, then you must attempt to install the package in your project to discover its compatibility. - - -Pre-release packages -Many package authors make preview and beta releases available as they continue to make improvements and seek feedback on their latest revisions. -By default, nuget.org shows pre-release packages in search results. To search only stable releases, clear the Include prerelease option in the Advanced Search panel that is accessible from the Filter button on the upper right of the page - -In Visual Studio, and when using the NuGet and dotnet CLI tools, NuGet does not include pre-release versions by default. To change this behavior, do the following steps: - -Package Manager UI in Visual Studio: In the Manage NuGet Packages UI, set the Include prerelease box. Setting or clearing this box refreshes the Package Manager UI and the list of available versions you can install. - - -Package Manager Console: Use the -IncludePrerelease switch with the Find-Package, Get-Package, Install-Package, Sync-Package, and Update-Package commands. Refer to the PowerShell Reference. - -nuget.exe CLI: Use the -prerelease switch with the install, update, delete, and mirror commands. Refer to the NuGet CLI reference - -dotnet.exe CLI: Specify the exact pre-release version using the -v argument. Refer to the dotnet add package reference. - - - -Native C++ packages -NuGet supports native C++ packages can that can be used in C++ projects in Visual Studio. This enables the Manage NuGet Packages context-menu command for projects, introduces a native target framework, and provides MSBuild integration. -To find native packages on nuget.org, search using tag:native. Such packages typically provide .targets and .props files, which NuGet imports automatically when the package is added to a project. -Evaluating packages -The best way to evaluate the usefulness of a package is to download it and try it out in your code (all packages on nuget.org are routinely scanned for viruses, by the way). After all, every highly popular package got started with only a few developers using it, and you might be one of the early adopters! -At the same time, using a NuGet package means taking a dependency on it, so you want to make sure it's robust and reliable. Because installing and directly testing a package is time-consuming, you can also learn a lot about a package's quality by using the information on a package's listing page: - -Downloads statistics: on the package page on nuget.org, the Statistics section shows total downloads, downloads of the most recent version, and average downloads per day. Larger numbers indicate that many other developers have taken a dependency on the package, which means that it has proven itself. - - -Used By: on the package page, the Used By section lists the top 5 most popular NuGet.org packages and popular GitHub repositories that depend on this package. Packages and repos that depend on this package can be called "dependents" of this package. Dependent packages and repos can be seen as "endorsements" of this package, as package authors have chosen to trust and depend on it. - -A dependent package must depend on any version of this package in its latest stable listed version. This definition ensures that displayed dependent packages are an up-to-date reflection of package author's decision to trust and depend on this package. Prerelease dependents are not listed as they are not considered whole-hearted endoresements yet. See the following table for examples: - - - -Package A versions -Package A is a listed as a dependent of Package B? - - - - -v1.0.0v1.1.0 (latest stable) --> Package Bv1.2.0-preview -TRUE, latest stable version depends on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview -FALSE, latest stable version does not depend on Package B - - -v1.0.0 --> Package Bv1.1.0 (latest stable)v1.2.0-preview --> Package B -FALSE, latest stable version does not depend on Package B - - - - -A GitHub repository's number of stars generally indicates how popular that repository is with GitHub users (more stars usually means more popular). Please visit GitHub's Getting Started page for more information on GitHub's star and repository ranking system. - - -Note -A package's Used By section is generated automatically, periodically, without human review of individual repositories, and solely for informational purposes in order to show you NuGet.org packages and popular GitHub repositories that depend on the package. - - - - -Version History: on the package page, look under Info for the date of the most recent update and examine the Version History. A well-maintained package has recent updates and a rich version history. Neglected packages have few updates and often haven't been updated in some time. - - -Recent installs: on the package page under Statistics, select View full stats. The full stats page shows the package installs over the last six weeks by version number. A package that other developers are actively using is typically a better choice than one that's not. - -Support: on the package page under Info, select Project Site (if available) to see what support options the author provides. A project with a dedicated site is generally better supported. - -Developer history: on the package page under Owners, select an owner to see what other packages they've published. Those with multiple packages are more likely to continue supporting their work in the future. - -Open source contributions: many packages are maintained in open-source repositories, making it possible for developers depending on them to directly contribute bug fixes and feature improvements. The contribution history of any given package is also a good indicator of how many developers are actively involved. - -Interview the owners: new developers can certainly be equally committed to producing great packages for you to use, and it's good to give them a chance to bring something new to the NuGet ecosystem. With this in mind, reach out directly to the package developers through the Contact Owners option under Info on the listing page. Chances are, they'll be happy to work with you to serve your needs! - -Reserved Package ID Prefixes: many package owners have applied for and have been granted a reserved package ID prefix. When you see the visual checkmark next to a package ID on nuget.org, or in Visual Studio, that means that the package owner has met our criteria for ID prefix reservation. This means the package owner is being clear on identifying themselves and their package. - - - -Note -Always be mindful of a package's license terms, which you can see by selecting License Info on a package's listing page on nuget.org. If a package does not specify license terms, contact the package owner directly using the Contact owners link on the package page. Microsoft does not license any intellectual property to you from third party package providers and is not responsible for information provided by third parties. - -License URL deprecation -As we transition from licenseUrl to license, some NuGet clients and NuGet feeds may not yet have the ability to surface licensing information in some cases. To maintain backward compatibility, the license URL points to this document which talks about how to retrieve the license information in such cases. -If clicking on the license URL for a package brought you to this page, it implies the package contains a license file and - -You are connected to a feed that does not yet know how to interpret and surface the new license information to the client -OR -You are using a client that does not yet know how to interpret and read the new license information that is potentially provided by the feed -OR -A combination of both - -Here is how you could read the information contained in the license file inside the package: - -Download the NuGet package, and unzip its contents to a folder. -Open the .nuspec file which would be at the root of that folder. -It should have a tag like <license type="file">license\license.txt</license>. This implies the license file is named license.txt and it is inside a folder called license which would also be at the root of that folder. -Navigate to the license folder and open the license.txt file. - -For the MSBuild equivalent to setting the license in the .nuspec, take a look at Packing a license expression or a license file. -Search Syntax -Search queries on nuget.org, from the NuGet CLI, and within the NuGet Package Manager extension in -Visual Studio, all use the same syntax. In general, search is applied to keywords as well as package descriptions. - -Advanced Filtering: You can apply a search term to a specific property by using the syntax <property>:<term> where -<property> (case-insensitive) can be id, packageid, version, title, tags, author, description, -summary, and owner. You can search for multiple properties at the same time. Searches on the id property are -substring matches, whereas packageid and owner uses an exact, case-insensitive match. Examples: - -PackageId:jquery # Match the package ID in an exact, case-insensitive manner - -owner:microsoft # Match the owner in an exact, case-insensitive manner - -id:NuGet.Core # Match any part of the ID property -Id:"Nuget.Core" -ID:jQuery -id:jquery id:ui # Search for multiple terms in the ID -id:jquery tags:validation # Search multiple properties - -invalid:jquery ui # Unsupported properties are ignored, so this - # is the same as searching on ui - - -Note -This advanced filtering syntax is supported by nuget.org. Other package sources, like Azure Artifacts or GitHub Package Repository, may use different syntax or may not support advanced filtering. - - - - - - - - - - - - - - -Feedback - -Submit and view feedback for - - -This product - - - -This page - - - - - - -View all page feedback - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - - - - - - - - -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 - - - - - - - - - -In this article - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Theme - - - - - - - - - - - - - - - - - - - - -Light - - - - - - - - - - - - - - - - - - - -Dark - - - - - - - - - - - - - - - - - - - -High contrast - - +<summary>Microsoft.NET.Test.Sdk 17.3.1</summary> +## Microsoft.NET.Test.Sdk +- Version: 17.3.1 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://github.com/microsoft/vstest/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.1) +- License: [MIT](https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) +``` +Copyright (c) 2020 Microsoft Corporation +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Previous Version Docs -Blog -Contribute -Privacy & Cookies -Terms of Use -Trademarks -© Microsoft 2022 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> @@ -6974,7 +5113,7 @@ Trademarks - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ - Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/1.1.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +- License: [MICROSOFT .NET LIBRARY License](http://go.microsoft.com/fwlink/?LinkId=329770) ``` @@ -6993,60 +5132,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -7054,13 +5193,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -7068,42 +5207,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -7115,19 +5254,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -7235,60 +5374,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -7296,13 +5435,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -7310,42 +5449,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -7357,19 +5496,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -7435,60 +5574,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -7496,13 +5635,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -7510,42 +5649,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -7557,19 +5696,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -7935,60 +6074,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -7996,13 +6135,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -8010,42 +6149,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -8057,19 +6196,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -9849,60 +7988,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -9910,13 +8049,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -9924,42 +8063,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -9971,19 +8110,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10527,7 +8666,7 @@ resources legal and licencing contributors -  + Please note: our license is an adaptation of the MIT X11 License and should be read as such. @@ -10539,10 +8678,10 @@ Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bounc THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -  + -  + Site hosted by Tau Ceti Co-operative Ltd. @@ -12096,60 +10235,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12157,13 +10296,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12171,42 +10310,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12218,19 +10357,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12296,60 +10435,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12357,13 +10496,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12371,42 +10510,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12418,19 +10557,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12538,60 +10677,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12599,13 +10738,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12613,42 +10752,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12660,19 +10799,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12738,60 +10877,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12799,13 +10938,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12813,42 +10952,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12860,19 +10999,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12979,60 +11118,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13040,13 +11179,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13054,42 +11193,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13101,19 +11240,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13179,60 +11318,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13240,13 +11379,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13254,42 +11393,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13301,19 +11440,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13543,60 +11682,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13604,13 +11743,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13618,42 +11757,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13665,19 +11804,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13827,60 +11966,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13888,13 +12027,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13902,42 +12041,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13949,19 +12088,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14027,302 +12166,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  - -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -·        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -·        -work around any technical -limitations in the software; -·        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -·        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        -use the software in any way that -is against the law; or -·        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. -``` - -</details> - - -<details> -<summary>System.Configuration.ConfigurationManager 4.5.0</summary> - -## System.Configuration.ConfigurationManager - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Configuration.ConfigurationManager/4.5.0) -- License: [MIT]( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Console 4.3.0</summary> - -## System.Console - -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Console/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) - - -``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY - -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. - -If -you comply with these license terms, you have the rights below. - -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14330,13 +12227,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14344,42 +12241,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14391,19 +12288,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14441,15 +12338,57 @@ consequential or other damages. <details> -<summary>System.Diagnostics.Debug 4.3.0</summary> +<summary>System.Configuration.ConfigurationManager 4.5.0</summary> -## System.Diagnostics.Debug +## System.Configuration.ConfigurationManager + +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Configuration.ConfigurationManager/4.5.0) +- License: [MIT]( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Console 4.3.0</summary> + +## System.Console - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Debug/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Console/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -14469,60 +12408,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14530,13 +12469,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14544,42 +12483,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14591,19 +12530,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14641,15 +12580,15 @@ consequential or other damages. <details> -<summary>System.Diagnostics.DiagnosticSource 4.3.0</summary> +<summary>System.Diagnostics.Debug 4.3.0</summary> -## System.Diagnostics.DiagnosticSource +## System.Diagnostics.Debug - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Debug/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -14669,60 +12608,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14730,13 +12669,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14744,42 +12683,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14791,19 +12730,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14841,97 +12780,15 @@ consequential or other damages. <details> -<summary>System.Diagnostics.DiagnosticSource 6.0.0</summary> +<summary>System.Diagnostics.DiagnosticSource 4.3.0</summary> ## System.Diagnostics.DiagnosticSource -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Diagnostics.EventLog 6.0.0</summary> - -## System.Diagnostics.EventLog - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.EventLog/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Diagnostics.Tools 4.3.0</summary> - -## System.Diagnostics.Tools - - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tools/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -14951,60 +12808,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15012,13 +12869,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15026,42 +12883,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15073,19 +12930,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15123,15 +12980,97 @@ consequential or other damages. <details> -<summary>System.Diagnostics.Tracing 4.3.0</summary> +<summary>System.Diagnostics.DiagnosticSource 6.0.0</summary> -## System.Diagnostics.Tracing +## System.Diagnostics.DiagnosticSource + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.DiagnosticSource/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Diagnostics.EventLog 6.0.0</summary> + +## System.Diagnostics.EventLog + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.EventLog/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Diagnostics.Tools 4.3.0</summary> + +## System.Diagnostics.Tools - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tracing/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tools/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15151,60 +13090,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15212,13 +13151,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15226,42 +13165,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15273,19 +13212,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15323,57 +13262,15 @@ consequential or other damages. <details> -<summary>System.Drawing.Common 4.5.0</summary> - -## System.Drawing.Common - -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Drawing.Common/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Dynamic.Runtime 4.0.11</summary> +<summary>System.Diagnostics.Tracing 4.3.0</summary> -## System.Dynamic.Runtime +## System.Diagnostics.Tracing -- Version: 4.0.11 +- Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.0.11) +- Source: [NuGet](https://www.nuget.org/packages/System.Diagnostics.Tracing/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15393,60 +13290,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15454,13 +13351,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15468,42 +13365,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15515,19 +13412,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15565,15 +13462,57 @@ consequential or other damages. <details> -<summary>System.Dynamic.Runtime 4.3.0</summary> +<summary>System.Drawing.Common 4.5.0</summary> + +## System.Drawing.Common + +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Drawing.Common/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Dynamic.Runtime 4.0.11</summary> ## System.Dynamic.Runtime -- Version: 4.3.0 +- Version: 4.0.11 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.0.11) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15593,60 +13532,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15654,13 +13593,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15668,42 +13607,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15715,19 +13654,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15765,15 +13704,15 @@ consequential or other damages. <details> -<summary>System.Globalization 4.3.0</summary> +<summary>System.Dynamic.Runtime 4.3.0</summary> -## System.Globalization +## System.Dynamic.Runtime - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Dynamic.Runtime/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15793,60 +13732,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15854,13 +13793,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15868,42 +13807,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15915,19 +13854,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15965,15 +13904,15 @@ consequential or other damages. <details> -<summary>System.Globalization.Calendars 4.3.0</summary> +<summary>System.Globalization 4.3.0</summary> -## System.Globalization.Calendars +## System.Globalization - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Calendars/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15993,60 +13932,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16054,13 +13993,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16068,42 +14007,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16115,19 +14054,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16165,15 +14104,15 @@ consequential or other damages. <details> -<summary>System.Globalization.Extensions 4.3.0</summary> +<summary>System.Globalization.Calendars 4.3.0</summary> -## System.Globalization.Extensions +## System.Globalization.Calendars - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Calendars/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16193,60 +14132,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16254,13 +14193,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16268,42 +14207,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16315,19 +14254,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16365,15 +14304,15 @@ consequential or other damages. <details> -<summary>System.IO 4.3.0</summary> +<summary>System.Globalization.Extensions 4.3.0</summary> -## System.IO +## System.Globalization.Extensions - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16393,60 +14332,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16454,13 +14393,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16468,42 +14407,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16515,19 +14454,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16565,96 +14504,214 @@ consequential or other damages. <details> -<summary>System.IO.Abstractions 17.0.24</summary> +<summary>System.IO 4.3.0</summary> -## System.IO.Abstractions +## System.IO -- Version: 17.0.24 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.0.24) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) ``` -The MIT License (MIT) +MICROSOFT SOFTWARE LICENSE +TERMS -Copyright (c) Tatham Oddie and Contributors +MICROSOFT .NET +LIBRARY -All rights reserved. +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +If +you comply with these license terms, you have the rights below. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1. INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2. +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3. +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a. +DISTRIBUTABLE +CODE. The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i. Right to Use and Distribute. +· +You may copy and distribute the object code form of the software. +· +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii. Distribution Requirements. For any +Distributable Code you distribute, you must +· +use the Distributable Code in your applications and not as a +standalone distribution; +· +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +· +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii. Distribution Restrictions. You may not +· +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +· +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4. +DATA. +a. +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b. +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +· +work around any technical +limitations in the software; +· +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +· +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +· +use the software in any way that +is against the law; or +· +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6. +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting. +7. +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8. +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9. Applicable Law. If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a) Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b) Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c) Germany and Austria. +(i) Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii) Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. ``` </details> <details> -<summary>System.IO.Abstractions 17.1.1</summary> +<summary>System.IO.Abstractions 17.2.1</summary> ## System.IO.Abstractions -- Version: 17.1.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.1.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.0.24</summary> - -## System.IO.Abstractions.TestingHelpers - -- Version: 17.0.24 +- Version: 17.2.1 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.0.24) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.1) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) @@ -16688,14 +14745,14 @@ SOFTWARE. <details> -<summary>System.IO.Abstractions.TestingHelpers 17.1.1</summary> +<summary>System.IO.Abstractions.TestingHelpers 17.2.1</summary> ## System.IO.Abstractions.TestingHelpers -- Version: 17.1.1 +- Version: 17.2.1 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.1.1) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.1) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) @@ -16757,60 +14814,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16818,13 +14875,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16832,42 +14889,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16879,19 +14936,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16957,60 +15014,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17018,13 +15075,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17032,42 +15089,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17079,19 +15136,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17157,60 +15214,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17218,13 +15275,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17232,42 +15289,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17279,19 +15336,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17357,60 +15414,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17418,13 +15475,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17432,42 +15489,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17479,19 +15536,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17557,60 +15614,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17618,13 +15675,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17632,42 +15689,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17679,19 +15736,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17798,60 +15855,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17859,13 +15916,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17873,42 +15930,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17920,19 +15977,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18082,60 +16139,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18143,13 +16200,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18157,42 +16214,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18204,19 +16261,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18282,60 +16339,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18343,13 +16400,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18357,42 +16414,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18404,19 +16461,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18482,60 +16539,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18543,13 +16600,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18557,42 +16614,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18604,19 +16661,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18682,60 +16739,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18743,13 +16800,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18757,42 +16814,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18804,19 +16861,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18882,60 +16939,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18943,13 +17000,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18957,42 +17014,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19004,19 +17061,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19082,60 +17139,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19143,13 +17200,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19157,42 +17214,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19204,19 +17261,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19282,60 +17339,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19343,13 +17400,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19357,42 +17414,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19404,19 +17461,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19482,60 +17539,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19543,13 +17600,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19557,42 +17614,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19604,19 +17661,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19764,60 +17821,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19825,13 +17882,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19839,42 +17896,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19886,19 +17943,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19964,60 +18021,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20025,13 +18082,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20039,42 +18096,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20086,19 +18143,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20164,60 +18221,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20225,13 +18282,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20239,42 +18296,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20286,19 +18343,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20364,60 +18421,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20425,13 +18482,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20439,42 +18496,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20486,19 +18543,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20564,60 +18621,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20625,13 +18682,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20639,42 +18696,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20686,19 +18743,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20806,60 +18863,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20867,13 +18924,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20881,42 +18938,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20928,19 +18985,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21006,60 +19063,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21067,13 +19124,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21081,42 +19138,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21128,19 +19185,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21206,60 +19263,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21267,13 +19324,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21281,42 +19338,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21328,19 +19385,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21406,60 +19463,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21467,13 +19524,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21481,42 +19538,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21528,19 +19585,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21606,60 +19663,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21667,13 +19724,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21681,42 +19738,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21728,19 +19785,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21889,60 +19946,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21950,13 +20007,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21964,42 +20021,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22011,19 +20068,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22089,60 +20146,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22150,13 +20207,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22164,42 +20221,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22211,19 +20268,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22289,60 +20346,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22350,13 +20407,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22364,42 +20421,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22411,19 +20468,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22489,60 +20546,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22550,13 +20607,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22564,42 +20621,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22611,19 +20668,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22689,60 +20746,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22750,13 +20807,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22764,42 +20821,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22811,19 +20868,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22889,60 +20946,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22950,13 +21007,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22964,42 +21021,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23011,19 +21068,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23089,60 +21146,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23150,13 +21207,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23164,42 +21221,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23211,19 +21268,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23289,60 +21346,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23350,13 +21407,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23364,42 +21421,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23411,19 +21468,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23489,60 +21546,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23550,13 +21607,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23564,42 +21621,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23611,19 +21668,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23731,60 +21788,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23792,13 +21849,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23806,42 +21863,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23853,19 +21910,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23931,60 +21988,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23992,13 +22049,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24006,42 +22063,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24053,19 +22110,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24131,60 +22188,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24192,13 +22249,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24206,42 +22263,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24253,19 +22310,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24331,60 +22388,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24392,13 +22449,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24406,42 +22463,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24453,19 +22510,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24531,60 +22588,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24592,13 +22649,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24606,42 +22663,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24653,19 +22710,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24731,60 +22788,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24792,13 +22849,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24806,42 +22863,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24853,19 +22910,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24931,60 +22988,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24992,13 +23049,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25006,42 +23063,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25053,19 +23110,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25173,60 +23230,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25234,13 +23291,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25248,42 +23305,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25295,19 +23352,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25415,60 +23472,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25476,13 +23533,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25490,42 +23547,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25537,19 +23594,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25615,60 +23672,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25676,13 +23733,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25690,42 +23747,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25737,19 +23794,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25857,60 +23914,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25918,13 +23975,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25932,42 +23989,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25979,19 +24036,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26099,60 +24156,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26160,13 +24217,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26174,42 +24231,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26221,19 +24278,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26506,60 +24563,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26567,13 +24624,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26581,42 +24638,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26628,19 +24685,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26706,60 +24763,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26767,13 +24824,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26781,42 +24838,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26828,19 +24885,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26989,60 +25046,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27050,13 +25107,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27064,42 +25121,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27111,19 +25168,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27189,60 +25246,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27250,13 +25307,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27264,42 +25321,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27311,19 +25368,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27430,60 +25487,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27491,13 +25548,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27505,42 +25562,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27552,19 +25609,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27672,60 +25729,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27733,13 +25790,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27747,42 +25804,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27794,19 +25851,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27872,60 +25929,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27933,13 +25990,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27947,42 +26004,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27994,19 +26051,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28114,60 +26171,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28175,13 +26232,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28189,42 +26246,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28236,19 +26293,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28314,60 +26371,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28375,13 +26432,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28389,42 +26446,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28436,19 +26493,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28514,60 +26571,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28575,13 +26632,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28589,42 +26646,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28636,19 +26693,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29140,60 +27197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29201,13 +27258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29215,42 +27272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29262,19 +27319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29340,60 +27397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29401,13 +27458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29415,42 +27472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29462,19 +27519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29540,60 +27597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29601,13 +27658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29615,42 +27672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29662,19 +27719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29740,60 +27797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29801,13 +27858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29815,42 +27872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29862,19 +27919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29940,60 +27997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30001,13 +28058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30015,42 +28072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30062,19 +28119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30140,60 +28197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30201,13 +28258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30215,42 +28272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30262,19 +28319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30340,60 +28397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30401,13 +28458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30415,42 +28472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30462,19 +28519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30540,60 +28597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30601,13 +28658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30615,42 +28672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30662,19 +28719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30740,60 +28797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30801,13 +28858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30815,42 +28872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30862,19 +28919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30940,60 +28997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31001,13 +29058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31015,42 +29072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31062,19 +29119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31140,60 +29197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31201,13 +29258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31215,42 +29272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31262,19 +29319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31340,60 +29397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31401,13 +29458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31415,42 +29472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31462,19 +29519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31540,60 +29597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31601,13 +29658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31615,42 +29672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31662,19 +29719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31740,60 +29797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31801,13 +29858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31815,42 +29872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31862,19 +29919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31940,60 +29997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32001,13 +30058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32015,42 +30072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32062,19 +30119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32140,60 +30197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32201,13 +30258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32215,42 +30272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32262,19 +30319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32340,60 +30397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32401,13 +30458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32415,42 +30472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32462,19 +30519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32540,60 +30597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32601,13 +30658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32615,42 +30672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32662,19 +30719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32740,60 +30797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32801,13 +30858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32815,42 +30872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32862,19 +30919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32940,60 +30997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33001,13 +31058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33015,42 +31072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33062,19 +31119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33140,60 +31197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33201,13 +31258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33215,42 +31272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33262,19 +31319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33340,60 +31397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33401,13 +31458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33415,42 +31472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33462,19 +31519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33540,60 +31597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33601,13 +31658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33615,42 +31672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33662,19 +31719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33740,60 +31797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33801,13 +31858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33815,42 +31872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33862,19 +31919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33940,60 +31997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34001,13 +32058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34015,42 +32072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34062,19 +32119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34140,60 +32197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34201,13 +32258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34215,42 +32272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34262,19 +32319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34340,60 +32397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34401,13 +32458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34415,42 +32472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34462,19 +32519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34540,60 +32597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34601,13 +32658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34615,42 +32672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34662,19 +32719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34740,60 +32797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34801,13 +32858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34815,42 +32872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34862,19 +32919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34940,60 +32997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35001,13 +33058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35015,42 +33072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35062,19 +33119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35140,60 +33197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35201,13 +33258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35215,42 +33272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35262,19 +33319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35340,60 +33397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35401,13 +33458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35415,42 +33472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35462,19 +33519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35540,60 +33597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35601,13 +33658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35615,42 +33672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35662,19 +33719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35740,60 +33797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35801,13 +33858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35815,42 +33872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35862,19 +33919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35940,60 +33997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36001,13 +34058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36015,42 +34072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36062,19 +34119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36140,60 +34197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36201,13 +34258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36215,42 +34272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36262,19 +34319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36340,60 +34397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36401,13 +34458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36415,42 +34472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36462,19 +34519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36540,60 +34597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36601,13 +34658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36615,42 +34672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36662,19 +34719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36740,60 +34797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36801,13 +34858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36815,42 +34872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36862,19 +34919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36940,60 +34997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37001,13 +35058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37015,42 +35072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37062,19 +35119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37140,60 +35197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37201,13 +35258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37215,42 +35272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37262,19 +35319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37340,60 +35397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37401,13 +35458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37415,42 +35472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37462,19 +35519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37540,60 +35597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37601,13 +35658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37615,42 +35672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37662,19 +35719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37740,60 +35797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37801,13 +35858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37815,42 +35872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37862,19 +35919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37940,60 +35997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38001,13 +36058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38015,42 +36072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38062,19 +36119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38140,60 +36197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38201,13 +36258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38215,42 +36272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38262,19 +36319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38340,60 +36397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38401,13 +36458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38415,42 +36472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38462,19 +36519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38540,60 +36597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38601,13 +36658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38615,42 +36672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38662,19 +36719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38740,60 +36797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38801,13 +36858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38815,42 +36872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38862,19 +36919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38940,60 +36997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -39001,13 +37058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39015,42 +37072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39062,19 +37119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39140,60 +37197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -39201,13 +37258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39215,42 +37272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39262,19 +37319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39340,60 +37397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -39401,13 +37458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39415,42 +37472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39462,19 +37519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39540,60 +37597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -39601,13 +37658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39615,42 +37672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39662,19 +37719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39740,60 +37797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -39801,13 +37858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39815,42 +37872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39862,19 +37919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39940,60 +37997,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -40001,13 +38058,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -40015,42 +38072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40062,19 +38119,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40140,60 +38197,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -40201,13 +38258,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -40215,42 +38272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40262,19 +38319,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40340,60 +38397,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -40401,13 +38458,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -40415,42 +38472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40462,19 +38519,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40540,60 +38597,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -40601,13 +38658,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -40615,42 +38672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40662,19 +38719,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40740,60 +38797,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1. INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE -CODE.  The software is +CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i. Right to Use and Distribute. +· You may copy and distribute the object code form of the software. -·        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any +ii. Distribution Requirements. For any Distributable Code you distribute, you must -·        +· use the Distributable Code in your applications and not as a standalone distribution; -·        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +· indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii.   Distribution Restrictions. You may not -·        +iii. Distribution Restrictions. You may not +· use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +· modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services. You may opt-out of many of these scenarios, but not all, as +described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -40801,13 +38858,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5.    +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -40815,42 +38872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +· work around any technical limitations in the software; -·        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -·        +· use the software in any way that is against the law; or -·        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9. Applicable Law. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40862,19 +38919,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer +a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop +b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c)    Germany and Austria. -(i)        Warranty. The software will perform +c) Germany and Austria. +(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -41872,5 +39929,4 @@ The above copyright notice and this permission notice (including the next paragr THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL _____ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` -</details> - +</details> \ No newline at end of file From 1ff3bad242a35b161223304c6224994cd01c8dbe Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 20:03:17 -0700 Subject: [PATCH 024/101] Update .gitversion.yml --- .github/.gitversion.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/.gitversion.yml b/.github/.gitversion.yml index 014925200..675496eac 100644 --- a/.github/.gitversion.yml +++ b/.github/.gitversion.yml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -next-version: 0.2.0 +next-version: 0.3.0 assembly-versioning-scheme: MajorMinorPatchTag mode: ContinuousDelivery branches: From 19e4c25360228335657bbd804ba00373f74bcf08 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:15:50 -0700 Subject: [PATCH 025/101] Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> From 49f56f2131160095b4a27313e86ac93921fc1805 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 19 Sep 2022 08:39:40 -0700 Subject: [PATCH 026/101] merge develop main (#156) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update .gitversion.yml * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From 609798312fb69b8c7dbad1638f8367dc0939136b Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 19 Sep 2022 17:35:37 -0700 Subject: [PATCH 027/101] Update fo-dicom to 5.0.3 (#164) * Update fo-dicom to 5.0.3 and handle breaking changes * Make validation on DICOM to JSON serialization configurable Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 10 +++- docker-compose/docker-compose.dev.yml | 3 +- docs/compliance/third-party-licenses.md | 43 ++++++++++++-- ...ai.Deploy.InformaticsGateway.Common.csproj | 2 +- src/Configuration/DicomConfiguration.cs | 6 ++ ...ormaticsGateway.DicomWeb.Client.CLI.csproj | 2 +- ....InformaticsGateway.DicomWeb.Client.csproj | 2 +- .../Common/DicomExtensions.cs | 7 ++- .../Monai.Deploy.InformaticsGateway.csproj | 2 +- .../Connectors/DataRetrievalService.cs | 4 +- .../Services/DicomWeb/IStreamsWriter.cs | 2 +- .../Services/Export/ScuExportService.cs | 59 +++++++++---------- .../Services/Scp/ApplicationEntityHandler.cs | 6 +- .../Services/Scp/ApplicationEntityManager.cs | 2 +- .../Services/Scp/IApplicationEntityHandler.cs | 2 +- .../Services/Scp/ScpServiceInternal.cs | 6 +- .../DicomFileStorageMetadataExtensionsTest.cs | 57 +++++++++++++++++- .../Scp/ApplicationEntityHandlerTest.cs | 6 +- .../Test/Shared/DicomScpFixture.cs | 6 +- tests/Integration.Test/Drivers/DicomScp.cs | 5 +- ...InformaticsGateway.Integration.Test.csproj | 2 +- 21 files changed, 167 insertions(+), 67 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 7e09baf68..c709e42cc 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -804,6 +804,13 @@ :versions: - 17.3.1 :when: 2022-09-01 23:06:18.619013325 Z +- - :approve + - Microsoft.Toolkit.HighPerformance + - :who: mocsharp + :why: MIT (https://github.com/CommunityToolkit/WindowsCommunityToolkit/raw/main/License.md) + :versions: + - 7.1.2 + :when: 2022-09-20 00:42:18.619013325 Z - - :approve - Microsoft.Win32.Primitives - :who: mocsharp @@ -1866,7 +1873,7 @@ - :who: mocsharp :why: Microsoft Public License (https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) :versions: - - 5.0.2 + - 5.0.3 :when: 2022-08-16 23:07:29.574869349 Z - - :approve - runtime.any.System.Collections @@ -2400,4 +2407,3 @@ :versions: - 4.0.1 :when: 2022-08-16 23:10:21.184627612 Z - \ No newline at end of file diff --git a/docker-compose/docker-compose.dev.yml b/docker-compose/docker-compose.dev.yml index a92bafae3..0c6504cfa 100644 --- a/docker-compose/docker-compose.dev.yml +++ b/docker-compose/docker-compose.dev.yml @@ -39,7 +39,8 @@ services: - ./.run/minio/data:/data - ./.run/minio/config:/root/.minio ports: - - "9000:9000" + - 9000:9000 + - 9001:9001 environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index f32324ae8..17f26b29d 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -6045,6 +6045,41 @@ SOFTWARE. </details> +<details> +<summary>Microsoft.Toolkit.HighPerformance 7.1.2</summary> + +## Microsoft.Toolkit.HighPerformance + +- Version: 7.1.2 +- Authors: Microsoft +- Owners: Microsoft.Toolkit,dotnetfoundation +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Toolkit.HighPerformance/7.1.2) +- License: [MIT]( https://github.com/CommunityToolkit/WindowsCommunityToolkit/raw/main/License.md) + + +``` +# Windows Community Toolkit + +Copyright © .NET Foundation and Contributors + +All rights reserved. + +## MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), +to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +``` + +</details> <details> <summary>Microsoft.Win32.Primitives 4.3.0</summary> @@ -26864,14 +26899,14 @@ SOFTWARE. <details> -<summary>fo-dicom 5.0.2</summary> +<summary>fo-dicom 5.0.3</summary> ## fo-dicom -- Version: 5.0.2 +- Version: 5.0.3 - Authors: fo-dicom contributors - Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.2) +- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) - License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) @@ -39929,4 +39964,4 @@ The above copyright notice and this permission notice (including the next paragr THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL _____ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` -</details> \ No newline at end of file +</details> diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index e905e44ac..d0636340c 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -28,7 +28,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> diff --git a/src/Configuration/DicomConfiguration.cs b/src/Configuration/DicomConfiguration.cs index 8d5b1d952..9160dfb89 100644 --- a/src/Configuration/DicomConfiguration.cs +++ b/src/Configuration/DicomConfiguration.cs @@ -41,5 +41,11 @@ public class DicomConfiguration /// </summary> [ConfigurationKeyName("writeDicomJson")] public DicomJsonOptions WriteDicomJson { get; set; } = DicomJsonOptions.IgnoreOthers; + + /// <summary> + /// Gets or sets whether to automatically validate the DICOM values when serializing to JSON. + /// Defaults to False. + /// </summary> + public bool ValidateDicomOnSerialization { get; set; } = false; } } diff --git a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj index 5d03a57ef..66d9c5d94 100644 --- a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj +++ b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj @@ -35,7 +35,7 @@ <ItemGroup> <PackageReference Include="ConsoleAppFramework" Version="4.2.2" /> - <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> </ItemGroup> </Project> diff --git a/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj b/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj index 99f8db114..c4e1e1a85 100644 --- a/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj +++ b/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj @@ -43,7 +43,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> diff --git a/src/InformaticsGateway/Common/DicomExtensions.cs b/src/InformaticsGateway/Common/DicomExtensions.cs index bbf46e91e..bd9eddb66 100644 --- a/src/InformaticsGateway/Common/DicomExtensions.cs +++ b/src/InformaticsGateway/Common/DicomExtensions.cs @@ -52,12 +52,15 @@ public static DicomTransferSyntax[] ToDicomTransferSyntaxArray(this IEnumerable< return dicomTransferSyntaxes.ToArray(); } - public static string ToJson(this DicomFile dicomFile, DicomJsonOptions dicomJsonOptions) + public static string ToJson(this DicomFile dicomFile, DicomJsonOptions dicomJsonOptions, bool validateDicom) { Guard.Against.Null(dicomFile, nameof(dicomFile)); var options = new JsonSerializerOptions(); - options.Converters.Add(new DicomJsonConverter(writeTagsAsKeywords: false, autoValidate: true)); + options.Converters.Add(new DicomJsonConverter( + writeTagsAsKeywords: false, + autoValidate: validateDicom, + numberSerializationMode: validateDicom ? NumberSerializationMode.AsNumber : NumberSerializationMode.PreferablyAsNumber)); options.WriteIndented = false; if (dicomJsonOptions == DicomJsonOptions.Complete) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 84c53ae17..f4f533629 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -34,7 +34,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="DotNext.Threading" Version="4.7.1" /> - <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index 4b43f76aa..ea39f5d0b 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -509,7 +509,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -539,7 +539,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index b33a30b78..35cf29a15 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -165,7 +165,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Export/ScuExportService.cs b/src/InformaticsGateway/Services/Export/ScuExportService.cs index 650ab4616..b1331b7a0 100644 --- a/src/InformaticsGateway/Services/Export/ScuExportService.cs +++ b/src/InformaticsGateway/Services/Export/ScuExportService.cs @@ -78,7 +78,6 @@ private async Task HandleDesination(ExportRequestDataMessage exportRequestData, Guard.Against.Null(exportRequestData, nameof(exportRequestData)); var manualResetEvent = new ManualResetEvent(false); - IDicomClient client = null; DestinationApplicationEntity destination = null; try { @@ -93,38 +92,38 @@ private async Task HandleDesination(ExportRequestDataMessage exportRequestData, try { - client = DicomClientFactory.Create( - destination.HostIp, - destination.Port, - false, - _configuration.Value.Dicom.Scu.AeTitle, - destination.AeTitle); - - client.AssociationAccepted += (sender, args) => _logger.AssociationAccepted(); - client.AssociationRejected += (sender, args) => _logger.AssociationRejected(); - client.AssociationReleased += (sender, args) => _logger.AssociationReleased(); - client.ServiceOptions.LogDataPDUs = _configuration.Value.Dicom.Scu.LogDataPdus; - client.ServiceOptions.LogDimseDatasets = _configuration.Value.Dicom.Scu.LogDimseDatasets; - - client.NegotiateAsyncOps(); - if (GenerateRequests(exportRequestData, client, manualResetEvent)) - { - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _configuration.Value.Export.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.DimseExportErrorWithRetry(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => + await Policy + .Handle<Exception>() + .WaitAndRetryAsync( + _configuration.Value.Export.Retries.RetryDelays, + (exception, timeSpan, retryCount, context) => + { + _logger.DimseExportErrorWithRetry(timeSpan, retryCount, exception); + }) + .ExecuteAsync(async () => + { + var client = DicomClientFactory.Create( + destination.HostIp, + destination.Port, + false, + _configuration.Value.Dicom.Scu.AeTitle, + destination.AeTitle); + + client.AssociationAccepted += (sender, args) => _logger.AssociationAccepted(); + client.AssociationRejected += (sender, args) => _logger.AssociationRejected(); + client.AssociationReleased += (sender, args) => _logger.AssociationReleased(); + client.ServiceOptions.LogDataPDUs = _configuration.Value.Dicom.Scu.LogDataPdus; + client.ServiceOptions.LogDimseDatasets = _configuration.Value.Dicom.Scu.LogDimseDatasets; + + client.NegotiateAsyncOps(); + if (await GenerateRequestsAsync(exportRequestData, client, manualResetEvent)) { _logger.DimseExporting(destination.AeTitle, destination.HostIp, destination.Port); await client.SendAsync(cancellationToken).ConfigureAwait(false); manualResetEvent.WaitOne(); _logger.DimseExportComplete(destination.AeTitle); - }).ConfigureAwait(false); - } + } + }).ConfigureAwait(false); } catch (Exception ex) { @@ -151,7 +150,7 @@ private DestinationApplicationEntity LookupDestination(string destinationName) return destination; } - private bool GenerateRequests( + private async Task<bool> GenerateRequestsAsync( ExportRequestDataMessage exportRequestData, IDicomClient client, ManualResetEvent manualResetEvent) @@ -177,7 +176,7 @@ private bool GenerateRequests( manualResetEvent.Set(); }; - client.AddRequestAsync(request).ConfigureAwait(false); + await client.AddRequestAsync(request).ConfigureAwait(false); return true; } catch (Exception exception) diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index eb090ed02..46bec278e 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -41,6 +41,7 @@ internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler private MonaiApplicationEntity _configuration; private DicomJsonOptions _dicomJsonOptions; + private bool _validateDicomValueOnJsonSerialization; private bool _disposedValue; public ApplicationEntityHandler( @@ -55,12 +56,13 @@ public ApplicationEntityHandler( _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); } - public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions) + public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) { Guard.Against.Null(monaiApplicationEntity, nameof(monaiApplicationEntity)); _configuration = monaiApplicationEntity; _dicomJsonOptions = dicomJsonOptions; + _validateDicomValueOnJsonSerialization = validateDicomValuesOnJsonSerialization; } public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledAeTitle, string callingAeTitle, Guid associationId, StudySerieSopUids uids) @@ -93,7 +95,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index 080d171d0..6fbafcca2 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -143,7 +143,7 @@ private void AddNewAeTitle(MonaiApplicationEntity entity) { var scope = _serviceScopeFactory.CreateScope(); var handler = scope.ServiceProvider.GetService<IApplicationEntityHandler>() ?? throw new ServiceNotFoundException(nameof(IApplicationEntityHandler)); - handler.Configure(entity, Configuration.Value.Dicom.WriteDicomJson); + handler.Configure(entity, Configuration.Value.Dicom.WriteDicomJson, Configuration.Value.Dicom.ValidateDicomOnSerialization); if (!_aeTitles.TryAdd(entity.AeTitle, handler)) { diff --git a/src/InformaticsGateway/Services/Scp/IApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/IApplicationEntityHandler.cs index bd5338bfd..fe00e4ec8 100644 --- a/src/InformaticsGateway/Services/Scp/IApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/IApplicationEntityHandler.cs @@ -25,7 +25,7 @@ namespace Monai.Deploy.InformaticsGateway.Services.Scp { internal interface IApplicationEntityHandler { - void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions); + void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization); Task HandleInstanceAsync(DicomCStoreRequest request, string calledAeTitle, string callingAeTitle, Guid associationId, StudySerieSopUids uids); } diff --git a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs index abaa4b832..49646d18c 100644 --- a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs +++ b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs @@ -21,8 +21,6 @@ using System.Threading; using System.Threading.Tasks; using FellowOakDicom; -using FellowOakDicom.Imaging.Codec; -using FellowOakDicom.Log; using FellowOakDicom.Network; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; @@ -44,8 +42,8 @@ internal class ScpServiceInternal : private IDisposable _loggerScope; private Guid _associationId; - public ScpServiceInternal(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, ILogManager logManager, INetworkManager network, ITranscoderManager transcoder) - : base(stream, fallbackEncoding, log, logManager, network, transcoder) + public ScpServiceInternal(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, DicomServiceDependencies dicomServiceDependencies) + : base(stream, fallbackEncoding, log, dicomServiceDependencies) { } diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index 2c1752a12..3f389a152 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -18,6 +18,7 @@ using System.IO; using System.Text; using System.Threading.Tasks; +using FellowOakDicom; using FellowOakDicom.Serialization; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; @@ -40,7 +41,59 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe Guid.NewGuid().ToString()); var dicom = InstanceGenerator.GenerateDicomFile(); - var json = dicom.ToJson(DicomJsonOptions.Complete); + var json = dicom.ToJson(DicomJsonOptions.Complete, false); + await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); + + Assert.NotNull(metadata.File.Data); + Assert.NotNull(metadata.JsonFile.Data); + + var ms = new MemoryStream(); + await dicom.SaveAsync(ms).ConfigureAwait(false); + Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); + + var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); + Assert.Equal(json.Trim(), jsonFromStream.Trim()); + + var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); + Assert.Equal(dicom.Dataset, dicomFileFromJson); + } + + [Fact] + public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() + { + var metadata = new DicomFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var dicom = InstanceGenerator.GenerateDicomFile(); +#pragma warning disable CS0618 // Type or member is obsolete + dicom.Dataset.AutoValidate = false; +#pragma warning restore CS0618 // Type or member is obsolete + dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234234392", "0.235425246583524352345"); + + Assert.Throws<FormatException>(() => dicom.ToJson(DicomJsonOptions.Complete, true)); + } + + [Fact] + public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalled_ExpectDataStreamsAreSet() + { + var metadata = new DicomFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var dicom = InstanceGenerator.GenerateDicomFile(); +#pragma warning disable CS0618 // Type or member is obsolete + dicom.Dataset.AutoValidate = false; +#pragma warning restore CS0618 // Type or member is obsolete + dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234392234", "0.2354257587243524352345"); + + var json = dicom.ToJson(DicomJsonOptions.Complete, false); await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); @@ -57,4 +110,4 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe Assert.Equal(dicom.Dataset, dicomFileFromJson); } } -} \ No newline at end of file +} diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs index 21c2f9510..0d7cad791 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs @@ -104,7 +104,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsInTheIgnoreList_ExpectIns }; var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); - handler.Configure(aet, Configuration.DicomJsonOptions.Complete); + handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); var dicomToolkit = new DicomToolkit(); @@ -128,7 +128,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsNotInTheAllowedList_Expec }; var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); - handler.Configure(aet, Configuration.DicomJsonOptions.Complete); + handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); var dicomToolkit = new DicomToolkit(); @@ -151,7 +151,7 @@ public async Task GivenACStoreRequest_WhenHandleInstanceAsyncIsCalled_ExpectADic }; var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); - handler.Configure(aet, Configuration.DicomJsonOptions.Complete); + handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); var dicomToolkit = new DicomToolkit(); diff --git a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs index 4fafdacd3..e2f35440f 100644 --- a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs +++ b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs @@ -19,8 +19,6 @@ using System.Text; using System.Threading.Tasks; using FellowOakDicom; -using FellowOakDicom.Imaging.Codec; -using FellowOakDicom.Log; using FellowOakDicom.Network; using Microsoft.Extensions.Logging; @@ -78,8 +76,8 @@ public void Dispose() public class CStoreScp : DicomService, IDicomServiceProvider, IDicomCStoreProvider, IDicomCEchoProvider { - public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, ILogManager logManager, INetworkManager network, ITranscoderManager transcoder) - : base(stream, fallbackEncoding, log, logManager, network, transcoder) + public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, DicomServiceDependencies dicomServiceDependencies) + : base(stream, fallbackEncoding, log, dicomServiceDependencies) { } diff --git a/tests/Integration.Test/Drivers/DicomScp.cs b/tests/Integration.Test/Drivers/DicomScp.cs index 540578d67..e00153feb 100644 --- a/tests/Integration.Test/Drivers/DicomScp.cs +++ b/tests/Integration.Test/Drivers/DicomScp.cs @@ -16,7 +16,6 @@ using System.Text; using FellowOakDicom; -using FellowOakDicom.Imaging.Codec; using FellowOakDicom.Log; using FellowOakDicom.Network; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; @@ -36,8 +35,8 @@ internal class CStoreScp : DicomService, IDicomServiceProvider, IDicomCStoreProv private static readonly Object SyncLock = new Object(); internal static readonly string PayloadsRoot = "./payloads"; - public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, ILogger log, ILogManager logManager, INetworkManager network, ITranscoderManager transcoder) - : base(stream, fallbackEncoding, log, logManager, network, transcoder) + public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, ILogger log, DicomServiceDependencies dicomServiceDependencies) + : base(stream, fallbackEncoding, log, dicomServiceDependencies) { } diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 12af6e326..3a596fd89 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -23,7 +23,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="fo-dicom" Version="5.0.2" /> + <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.8" /> From 321abbb6badc3cbe33a395e69da9fb299dbc87c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 17:39:24 -0700 Subject: [PATCH 028/101] Bump anchore/scan-action from 3.2.5 to 3.3.0 (#158) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.5 to 3.3.0. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.5...v3.3.0) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bcc5e4e17..0156fea9c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -364,7 +364,7 @@ jobs: - name: Anchore container scan id: anchore-scan - uses: anchore/scan-action@v3.2.5 + uses: anchore/scan-action@v3.3.0 if: ${{ (matrix.os == 'ubuntu-latest') }} with: image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} From 5b059357c698197ea96c9b12401c1eafe7cd0791 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 21 Sep 2022 10:37:17 -0700 Subject: [PATCH 029/101] Update default SCU AET to MONAISCU (#157) * gh-155 Chnage default SCU AET to MONAISCU * gh-155 update packages * Update package approvals & licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 35 +- docs/compliance/third-party-licenses.md | 12191 ++++++++-------- docs/setup/schema.md | 2 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 4 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- ...oy.InformaticsGateway.Client.Common.csproj | 2 +- ...ai.Deploy.InformaticsGateway.Common.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 4 +- ...formaticsGateway.Configuration.Test.csproj | 2 +- ....Deploy.InformaticsGateway.Database.csproj | 6 +- .../Monai.Deploy.InformaticsGateway.csproj | 6 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 4 +- src/InformaticsGateway/Test/appsettings.json | 2 +- src/InformaticsGateway/appsettings.json | 2 +- ...InformaticsGateway.Integration.Test.csproj | 4 +- .../configs/informatics-gateway.json | 2 +- 19 files changed, 6467 insertions(+), 5809 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index c709e42cc..1fe363ead 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -81,7 +81,7 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/Docker.DotNet/raw/master/LICENSE) :versions: - - 3.125.11 + - 3.125.12 :when: 2022-08-16 23:05:32.422217566 Z - - :approve - DotNext @@ -89,6 +89,7 @@ :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - 4.7.1 + - 4.7.2 :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading @@ -96,6 +97,7 @@ :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - 4.7.1 + - 4.7.2 :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions @@ -355,6 +357,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:49.698463427 Z - - :approve - Microsoft.EntityFrameworkCore @@ -362,6 +365,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:50.137694970 Z - - :approve - Microsoft.EntityFrameworkCore.Abstractions @@ -369,6 +373,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:51.008105271 Z - - :approve - Microsoft.EntityFrameworkCore.Analyzers @@ -376,20 +381,21 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:51.445711308 Z - - :approve - Microsoft.EntityFrameworkCore.Design - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:51.922790944 Z - - :approve - Microsoft.EntityFrameworkCore.InMemory - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:52.375150938 Z - - :approve - Microsoft.EntityFrameworkCore.Relational @@ -397,6 +403,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:52.828879230 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite @@ -404,6 +411,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:53.270526921 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite.Core @@ -411,6 +419,7 @@ :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-16 23:05:53.706997823 Z - - :approve - Microsoft.Extensions.ApiDescription.Server @@ -551,6 +560,7 @@ :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions @@ -558,6 +568,7 @@ :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore @@ -565,6 +576,7 @@ :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - 6.0.8 + - 6.0.9 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.FileProviders.Abstractions @@ -628,13 +640,8 @@ :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 6.0.0 - :when: 2022-08-16 23:06:06.283078378 Z -- - :approve - - Microsoft.Extensions.Logging.Abstractions - - :who: mocsharp - :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - :versions: - 6.0.1 + - 6.0.2 :when: 2022-08-16 23:06:06.728283354 Z - - :approve - Microsoft.Extensions.Logging.Configuration @@ -1293,6 +1300,7 @@ :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - 17.2.1 + - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z - - :approve - System.IO.Abstractions.TestingHelpers @@ -1300,6 +1308,7 @@ :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - 17.2.1 + - 17.2.3 :when: 2022-08-16 23:06:51.524564913 Z - - :approve - System.IO.Compression @@ -1728,19 +1737,15 @@ :versions: - 4.7.2 :when: 2022-08-16 23:07:19.845361666 Z + - - :approve - System.Text.Json - :who: mocsharp :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 6.0.0 - :when: 2022-08-16 23:07:20.328932726 Z -- - :approve - - System.Text.Json - - :who: mocsharp - :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - :versions: - 6.0.5 + - 6.0.6 :when: 2022-08-16 23:07:20.787263056 Z - - :approve - System.Text.RegularExpressions diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 17f26b29d..ab8744fbc 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -706,13 +706,13 @@ SOFTWARE. <details> -<summary>Docker.DotNet 3.125.11</summary> +<summary>Docker.DotNet 3.125.12</summary> ## Docker.DotNet -- Version: 3.125.11 +- Version: 3.125.12 - Authors: Docker.DotNet -- Source: [NuGet](https://www.nuget.org/packages/Docker.DotNet/3.125.11) +- Source: [NuGet](https://www.nuget.org/packages/Docker.DotNet/3.125.12) - License: [MIT](https://github.com/dotnet/Docker.DotNet/raw/master/LICENSE) @@ -784,6 +784,45 @@ SOFTWARE. </details> +<details> +<summary>DotNext 4.7.2</summary> + +## DotNext + +- Version: 4.7.2 +- Authors: .NET Foundation and Contributors +- Project URL: https://dotnet.github.io/dotNext/ +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.2) +- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) + + +``` +MIT License + +Copyright © .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>DotNext.Threading 4.7.1</summary> @@ -823,6 +862,45 @@ SOFTWARE. </details> +<details> +<summary>DotNext.Threading 4.7.2</summary> + +## DotNext.Threading + +- Version: 4.7.2 +- Authors: .NET Foundation and Contributors +- Project URL: https://dotnet.github.io/dotNext/ +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.2) +- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) + + +``` +MIT License + +Copyright © .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>FluentAssertions 6.7.0</summary> @@ -1349,60 +1427,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -1410,13 +1488,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -1424,42 +1502,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -1471,19 +1549,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2446,60 +2524,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -2507,13 +2585,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2521,42 +2599,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2568,19 +2646,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2646,60 +2724,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -2707,13 +2785,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2721,42 +2799,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2768,19 +2846,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -3015,14 +3093,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.9</summary> -## Microsoft.EntityFrameworkCore +## Microsoft.Data.Sqlite.Core -- Version: 6.0.8 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.8) +- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3056,14 +3134,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.8</summary> -## Microsoft.EntityFrameworkCore.Abstractions +## Microsoft.EntityFrameworkCore - Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3097,14 +3175,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.9</summary> -## Microsoft.EntityFrameworkCore.Analyzers +## Microsoft.EntityFrameworkCore -- Version: 6.0.8 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3138,14 +3216,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.8</summary> -## Microsoft.EntityFrameworkCore.Design +## Microsoft.EntityFrameworkCore.Abstractions - Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3179,14 +3257,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.9</summary> -## Microsoft.EntityFrameworkCore.InMemory +## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.8 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3220,14 +3298,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.8</summary> -## Microsoft.EntityFrameworkCore.Relational +## Microsoft.EntityFrameworkCore.Analyzers - Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3261,14 +3339,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.9</summary> -## Microsoft.EntityFrameworkCore.Sqlite +## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.8 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3302,14 +3380,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.9</summary> -## Microsoft.EntityFrameworkCore.Sqlite.Core +## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.8 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3343,15 +3421,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.ApiDescription.Server 6.0.5</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.9</summary> -## Microsoft.Extensions.ApiDescription.Server +## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.5 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/6.0.5) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3384,15 +3462,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Caching.Abstractions 6.0.0</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.8</summary> -## Microsoft.Extensions.Caching.Abstractions +## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.8) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3425,15 +3503,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Caching.Memory 6.0.1</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.9</summary> -## Microsoft.Extensions.Caching.Memory +## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.1 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/6.0.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3466,15 +3544,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration 6.0.0</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.8</summary> -## Microsoft.Extensions.Configuration +## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.8) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3507,15 +3585,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration 6.0.1</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.9</summary> -## Microsoft.Extensions.Configuration +## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.1 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3548,15 +3626,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.Abstractions 6.0.0</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.8</summary> -## Microsoft.Extensions.Configuration.Abstractions +## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.8) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3589,15 +3667,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.Binder 6.0.0</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.9</summary> -## Microsoft.Extensions.Configuration.Binder +## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.0 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` @@ -3630,15 +3708,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.CommandLine 6.0.0</summary> +<summary>Microsoft.Extensions.ApiDescription.Server 6.0.5</summary> -## Microsoft.Extensions.Configuration.CommandLine +## Microsoft.Extensions.ApiDescription.Server -- Version: 6.0.0 +- Version: 6.0.5 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/6.0.5) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -3671,14 +3749,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.0</summary> +<summary>Microsoft.Extensions.Caching.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Configuration.EnvironmentVariables +## Microsoft.Extensions.Caching.Abstractions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3712,55 +3790,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1</summary> +<summary>Microsoft.Extensions.Caching.Memory 6.0.1</summary> -## Microsoft.Extensions.Configuration.EnvironmentVariables +## Microsoft.Extensions.Caching.Memory - Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Configuration.FileExtensions 6.0.0</summary> - -## Microsoft.Extensions.Configuration.FileExtensions - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3794,14 +3831,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.Json 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration 6.0.0</summary> -## Microsoft.Extensions.Configuration.Json +## Microsoft.Extensions.Configuration - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3835,14 +3872,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration 6.0.1</summary> -## Microsoft.Extensions.Configuration.UserSecrets +## Microsoft.Extensions.Configuration -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3876,14 +3913,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.1</summary> +<summary>Microsoft.Extensions.Configuration.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Configuration.UserSecrets +## Microsoft.Extensions.Configuration.Abstractions -- Version: 6.0.1 +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3917,47 +3954,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyInjection 2.2.0</summary> - -## Microsoft.Extensions.DependencyInjection - -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) - - -``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyInjection 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.Binder 6.0.0</summary> -## Microsoft.Extensions.DependencyInjection +## Microsoft.Extensions.Configuration.Binder - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3991,47 +3995,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> - -## Microsoft.Extensions.DependencyInjection.Abstractions - -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) - - -``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.CommandLine 6.0.0</summary> -## Microsoft.Extensions.DependencyInjection.Abstractions +## Microsoft.Extensions.Configuration.CommandLine - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4065,14 +4036,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.0</summary> -## Microsoft.Extensions.DependencyModel +## Microsoft.Extensions.Configuration.EnvironmentVariables - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4106,15 +4077,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> +<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.Configuration.EnvironmentVariables -- Version: 6.0.8 +- Version: 6.0.1 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -4147,15 +4118,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> +<summary>Microsoft.Extensions.Configuration.FileExtensions 6.0.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions +## Microsoft.Extensions.Configuration.FileExtensions -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -4188,15 +4159,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.Extensions.Configuration.Json 6.0.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore +## Microsoft.Extensions.Configuration.Json -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -4229,14 +4200,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.0</summary> -## Microsoft.Extensions.FileProviders.Abstractions +## Microsoft.Extensions.Configuration.UserSecrets - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4270,14 +4241,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.1</summary> -## Microsoft.Extensions.FileProviders.Physical +## Microsoft.Extensions.Configuration.UserSecrets -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4311,14 +4282,47 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.FileSystemGlobbing 6.0.0</summary> +<summary>Microsoft.Extensions.DependencyInjection 2.2.0</summary> -## Microsoft.Extensions.FileSystemGlobbing +## Microsoft.Extensions.DependencyInjection + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.DependencyInjection 6.0.0</summary> + +## Microsoft.Extensions.DependencyInjection - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileSystemGlobbing/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4352,14 +4356,47 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting 6.0.0</summary> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> -## Microsoft.Extensions.Hosting +## Microsoft.Extensions.DependencyInjection.Abstractions + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> + +## Microsoft.Extensions.DependencyInjection.Abstractions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4393,14 +4430,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting 6.0.1</summary> +<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> -## Microsoft.Extensions.Hosting +## Microsoft.Extensions.DependencyModel -- Version: 6.0.1 +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4434,15 +4471,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Hosting.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> -## Microsoft.Extensions.Hosting.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4475,15 +4512,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Http 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.9</summary> -## Microsoft.Extensions.Http +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.0 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Http/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.9) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4516,15 +4553,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> -## Microsoft.Extensions.Logging +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4557,15 +4594,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> -## Microsoft.Extensions.Logging.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.0 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4598,14 +4635,96 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Abstractions 6.0.1</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> -## Microsoft.Extensions.Logging.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.1 +- Version: 6.0.8 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> + +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore + +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> + +## Microsoft.Extensions.FileProviders.Abstractions + +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4639,14 +4758,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Configuration 6.0.0</summary> +<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> -## Microsoft.Extensions.Logging.Configuration +## Microsoft.Extensions.FileProviders.Physical - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Configuration/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4680,14 +4799,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Console 6.0.0</summary> +<summary>Microsoft.Extensions.FileSystemGlobbing 6.0.0</summary> -## Microsoft.Extensions.Logging.Console +## Microsoft.Extensions.FileSystemGlobbing - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileSystemGlobbing/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4721,14 +4840,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Debug 6.0.0</summary> +<summary>Microsoft.Extensions.Hosting 6.0.0</summary> -## Microsoft.Extensions.Logging.Debug +## Microsoft.Extensions.Hosting - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4762,14 +4881,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.EventLog 6.0.0</summary> +<summary>Microsoft.Extensions.Hosting 6.0.1</summary> -## Microsoft.Extensions.Logging.EventLog +## Microsoft.Extensions.Hosting -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4803,14 +4922,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.EventSource 6.0.0</summary> +<summary>Microsoft.Extensions.Hosting.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Logging.EventSource +## Microsoft.Extensions.Hosting.Abstractions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Hosting.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4844,80 +4963,96 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.ObjectPool 2.2.0</summary> +<summary>Microsoft.Extensions.Http 6.0.0</summary> -## Microsoft.Extensions.ObjectPool +## Microsoft.Extensions.Http -- Version: 2.2.0 +- Version: 6.0.0 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ObjectPool/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Http/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` +The MIT License (MIT) + Copyright (c) .NET Foundation and Contributors All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>Microsoft.Extensions.Options 2.2.0</summary> +<summary>Microsoft.Extensions.Logging 6.0.0</summary> -## Microsoft.Extensions.Options +## Microsoft.Extensions.Logging -- Version: 2.2.0 +- Version: 6.0.0 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` +The MIT License (MIT) + Copyright (c) .NET Foundation and Contributors All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>Microsoft.Extensions.Options 6.0.0</summary> +<summary>Microsoft.Extensions.Logging.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Options +## Microsoft.Extensions.Logging.Abstractions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4951,14 +5086,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Options.ConfigurationExtensions 6.0.0</summary> +<summary>Microsoft.Extensions.Logging.Abstractions 6.0.1</summary> -## Microsoft.Extensions.Options.ConfigurationExtensions +## Microsoft.Extensions.Logging.Abstractions -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4992,47 +5127,441 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Primitives 2.2.0</summary> +<summary>Microsoft.Extensions.Logging.Abstractions 6.0.2</summary> -## Microsoft.Extensions.Primitives +## Microsoft.Extensions.Logging.Abstractions -- Version: 2.2.0 +- Version: 6.0.2 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Primitives/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.2) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` +The MIT License (MIT) + Copyright (c) .NET Foundation and Contributors All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>Microsoft.Extensions.Primitives 6.0.0</summary> +<summary>Microsoft.Extensions.Logging.Configuration 6.0.0</summary> -## Microsoft.Extensions.Primitives +## Microsoft.Extensions.Logging.Configuration - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Primitives/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Configuration/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Logging.Console 6.0.0</summary> + +## Microsoft.Extensions.Logging.Console + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Logging.Debug 6.0.0</summary> + +## Microsoft.Extensions.Logging.Debug + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Logging.EventLog 6.0.0</summary> + +## Microsoft.Extensions.Logging.EventLog + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Logging.EventSource 6.0.0</summary> + +## Microsoft.Extensions.Logging.EventSource + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.ObjectPool 2.2.0</summary> + +## Microsoft.Extensions.ObjectPool + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ObjectPool/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Options 2.2.0</summary> + +## Microsoft.Extensions.Options + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Options 6.0.0</summary> + +## Microsoft.Extensions.Options + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Options.ConfigurationExtensions 6.0.0</summary> + +## Microsoft.Extensions.Options.ConfigurationExtensions + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Options.ConfigurationExtensions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Primitives 2.2.0</summary> + +## Microsoft.Extensions.Primitives + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Primitives/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Primitives 6.0.0</summary> + +## Microsoft.Extensions.Primitives + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Primitives/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -5132,60 +5661,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -5193,13 +5722,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5207,42 +5736,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5254,19 +5783,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5374,60 +5903,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -5435,13 +5964,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5449,42 +5978,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5496,19 +6025,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5574,60 +6103,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -5635,13 +6164,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5649,42 +6178,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5696,19 +6225,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6109,60 +6638,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -6170,13 +6699,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -6184,42 +6713,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6231,19 +6760,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -8023,60 +8552,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -8084,13 +8613,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -8098,42 +8627,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -8145,19 +8674,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -8708,11 +9237,11 @@ Please note: our license is an adaptation of the MIT X11 License and should be r Please also note: this licensing model is made possible through funding from donations and the sale of support contracts. License Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - + @@ -10270,60 +10799,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -10331,13 +10860,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10345,42 +10874,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -10392,19 +10921,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10470,60 +10999,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -10531,13 +11060,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10545,42 +11074,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -10592,19 +11121,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10712,60 +11241,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -10773,13 +11302,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10787,42 +11316,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -10834,19 +11363,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10912,60 +11441,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -10973,13 +11502,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10987,42 +11516,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11034,19 +11563,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11153,60 +11682,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -11214,13 +11743,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11228,42 +11757,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11275,19 +11804,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11353,60 +11882,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -11414,13 +11943,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11428,42 +11957,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11475,19 +12004,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11717,60 +12246,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -11778,13 +12307,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11792,42 +12321,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11839,19 +12368,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12001,60 +12530,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12062,13 +12591,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12076,42 +12605,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12123,19 +12652,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12201,60 +12730,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12262,13 +12791,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12276,42 +12805,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12323,19 +12852,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12443,60 +12972,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12504,13 +13033,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12518,42 +13047,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12565,19 +13094,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12643,60 +13172,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12704,13 +13233,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12718,42 +13247,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12765,19 +13294,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12843,60 +13372,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -12904,13 +13433,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12918,42 +13447,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12965,19 +13494,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13125,60 +13654,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13186,13 +13715,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13200,42 +13729,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13247,19 +13776,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13325,60 +13854,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13386,13 +13915,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13400,42 +13929,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13447,19 +13976,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13567,60 +14096,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13628,13 +14157,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13642,42 +14171,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13689,19 +14218,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13767,60 +14296,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -13828,13 +14357,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13842,42 +14371,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13889,19 +14418,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13967,60 +14496,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14028,13 +14557,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14042,42 +14571,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14089,19 +14618,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14167,60 +14696,260 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  + +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +·        +use Microsoft’s trademarks in your applications’ names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +·        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft’s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +·        +work around any technical +limitations in the software; +·        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +·        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +·        +use the software in any way that +is against the law; or +·        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting.   +7.    +SUPPORT +SERVICES. Because this software is “as is,” we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.  If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)        Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)       Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` + +</details> + + +<details> +<summary>System.Globalization.Extensions 4.3.0</summary> + +## System.Globalization.Extensions + +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) + + +``` +MICROSOFT SOFTWARE LICENSE +TERMS + +MICROSOFT .NET +LIBRARY + +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. + +If +you comply with these license terms, you have the rights below. + +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14228,13 +14957,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14242,42 +14971,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14289,19 +15018,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14339,15 +15068,15 @@ consequential or other damages. <details> -<summary>System.Globalization.Extensions 4.3.0</summary> +<summary>System.IO 4.3.0</summary> -## System.Globalization.Extensions +## System.IO - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Globalization.Extensions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -14367,60 +15096,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14428,13 +15157,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14442,42 +15171,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14489,19 +15218,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14539,214 +15268,55 @@ consequential or other damages. <details> -<summary>System.IO 4.3.0</summary> +<summary>System.IO.Abstractions 17.2.1</summary> -## System.IO +## System.IO.Abstractions -- Version: 4.3.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO/4.3.0) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +- Version: 17.2.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) ``` -MICROSOFT SOFTWARE LICENSE -TERMS +The MIT License (MIT) -MICROSOFT .NET -LIBRARY +Copyright (c) Tatham Oddie and Contributors -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. +All rights reserved. -If -you comply with these license terms, you have the rights below. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1. INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -2. -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3. -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a. -DISTRIBUTABLE -CODE. The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i. Right to Use and Distribute. -· -You may copy and distribute the object code form of the software. -· -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any -Distributable Code you distribute, you must -· -use the Distributable Code in your applications and not as a -standalone distribution; -· -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -· -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii. Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -· -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4. -DATA. -a. -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b. -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -· -work around any technical -limitations in the software; -· -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -· -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -· -use the software in any way that -is against the law; or -· -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6. -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. -SUPPORT -SERVICES. Because this software is “as is,” we may not provide -support services for it. -8. -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9. Applicable Law. If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>System.IO.Abstractions 17.2.1</summary> +<summary>System.IO.Abstractions 17.2.3</summary> ## System.IO.Abstractions -- Version: 17.2.1 +- Version: 17.2.3 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.1) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) @@ -14820,6 +15390,47 @@ SOFTWARE. </details> +<details> +<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> + +## System.IO.Abstractions.TestingHelpers + +- Version: 17.2.3 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.IO.Compression 4.3.0</summary> @@ -14849,60 +15460,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -14910,13 +15521,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14924,42 +15535,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14971,19 +15582,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15049,60 +15660,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15110,13 +15721,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15124,42 +15735,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15171,19 +15782,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15249,60 +15860,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15310,13 +15921,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15324,42 +15935,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15371,19 +15982,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15449,60 +16060,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15510,13 +16121,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15524,42 +16135,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15571,19 +16182,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15649,60 +16260,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15710,13 +16321,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15724,42 +16335,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15771,19 +16382,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15890,60 +16501,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -15951,13 +16562,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15965,42 +16576,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16012,19 +16623,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16174,60 +16785,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16235,13 +16846,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16249,42 +16860,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16296,19 +16907,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16374,60 +16985,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16435,13 +17046,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16449,42 +17060,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16496,19 +17107,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16574,60 +17185,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16635,13 +17246,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16649,42 +17260,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16696,19 +17307,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16774,60 +17385,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -16835,13 +17446,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16849,42 +17460,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16896,19 +17507,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16974,60 +17585,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17035,13 +17646,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17049,42 +17660,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17096,19 +17707,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17174,60 +17785,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17235,13 +17846,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17249,42 +17860,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17296,19 +17907,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17374,60 +17985,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17435,13 +18046,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17449,42 +18060,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17496,19 +18107,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17574,60 +18185,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17635,13 +18246,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17649,42 +18260,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17696,19 +18307,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17856,60 +18467,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -17917,13 +18528,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17931,42 +18542,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17978,19 +18589,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18056,60 +18667,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18117,13 +18728,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18131,42 +18742,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18178,19 +18789,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18256,60 +18867,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18317,13 +18928,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18331,42 +18942,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18378,19 +18989,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18456,60 +19067,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18517,13 +19128,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18531,42 +19142,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18578,19 +19189,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18656,60 +19267,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18717,13 +19328,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18731,42 +19342,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18778,19 +19389,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18898,60 +19509,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -18959,13 +19570,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18973,42 +19584,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19020,19 +19631,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19098,60 +19709,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19159,13 +19770,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19173,42 +19784,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19220,19 +19831,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19298,60 +19909,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19359,13 +19970,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19373,42 +19984,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19420,19 +20031,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19498,60 +20109,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19559,13 +20170,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19573,42 +20184,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19620,19 +20231,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19698,60 +20309,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -19759,13 +20370,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19773,42 +20384,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19820,19 +20431,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19981,60 +20592,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20042,13 +20653,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20056,42 +20667,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20103,19 +20714,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20181,60 +20792,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20242,13 +20853,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20256,42 +20867,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20303,19 +20914,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20381,60 +20992,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20442,13 +21053,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20456,42 +21067,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20503,19 +21114,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20581,60 +21192,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20642,13 +21253,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20656,42 +21267,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20703,19 +21314,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20781,60 +21392,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -20842,13 +21453,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20856,42 +21467,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20903,19 +21514,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20981,60 +21592,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21042,13 +21653,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21056,42 +21667,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21103,19 +21714,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21181,60 +21792,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21242,13 +21853,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21256,42 +21867,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21303,19 +21914,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21381,60 +21992,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21442,13 +22053,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21456,42 +22067,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21503,19 +22114,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21581,60 +22192,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21642,13 +22253,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21656,42 +22267,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21703,19 +22314,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21823,60 +22434,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -21884,13 +22495,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21898,42 +22509,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21945,19 +22556,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22023,60 +22634,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22084,13 +22695,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22098,42 +22709,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22145,19 +22756,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22223,60 +22834,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22284,13 +22895,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22298,42 +22909,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22345,19 +22956,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22423,60 +23034,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22484,13 +23095,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22498,42 +23109,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22545,19 +23156,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22623,60 +23234,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22684,13 +23295,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22698,42 +23309,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22745,19 +23356,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22823,60 +23434,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -22884,13 +23495,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22898,42 +23509,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22945,19 +23556,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23023,60 +23634,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23084,13 +23695,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23098,42 +23709,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23145,19 +23756,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23265,60 +23876,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23326,13 +23937,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23340,42 +23951,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23387,19 +23998,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23507,60 +24118,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23568,13 +24179,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23582,42 +24193,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23629,19 +24240,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23707,60 +24318,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -23768,13 +24379,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23782,42 +24393,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23829,19 +24440,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23949,60 +24560,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24010,13 +24621,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24024,42 +24635,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24071,19 +24682,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24191,60 +24802,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24252,13 +24863,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24266,42 +24877,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24313,19 +24924,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24569,6 +25180,47 @@ SOFTWARE. </details> +<details> +<summary>System.Text.Json 6.0.6</summary> + +## System.Text.Json + +- Version: 6.0.6 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Text.Json/6.0.6) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.Text.RegularExpressions 4.3.0</summary> @@ -24598,60 +25250,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24659,13 +25311,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24673,42 +25325,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24720,19 +25372,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24798,60 +25450,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -24859,13 +25511,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24873,42 +25525,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24920,19 +25572,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25081,60 +25733,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25142,13 +25794,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25156,42 +25808,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25203,19 +25855,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25281,60 +25933,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25342,13 +25994,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25356,42 +26008,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25403,19 +26055,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25522,60 +26174,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25583,13 +26235,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25597,42 +26249,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25644,19 +26296,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25764,60 +26416,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -25825,13 +26477,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25839,42 +26491,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25886,19 +26538,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25964,60 +26616,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26025,13 +26677,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26039,42 +26691,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26086,19 +26738,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26206,60 +26858,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26267,13 +26919,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26281,42 +26933,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26328,19 +26980,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26406,60 +27058,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26467,13 +27119,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26481,42 +27133,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26528,19 +27180,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26606,60 +27258,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -26667,13 +27319,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26681,42 +27333,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26728,19 +27380,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26932,13 +27584,13 @@ A "contributor" is any person that distributes its contribution under this licen 2. Grant of Rights (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works - of its contribution, and distribute its contribution or any derivative works that you create. + royalty-free copyright license to reproduce its contribution, prepare derivative works + of its contribution, and distribute its contribution or any derivative works that you create. (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the - contribution in the software. + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the + contribution in the software. 3. Conditions and Limitations (A) No Trademark License- This license does not grant you rights to use any contributors' name, @@ -26949,13 +27601,13 @@ A "contributor" is any person that distributes its contribution under this licen and attribution notices that are present in the software. (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license - that complies with this license. + any portion of the software in compiled or object code form, you may only do so under a license + that complies with this license. (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose - and non-infringement. + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose + and non-infringement. @@ -27232,60 +27884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27293,13 +27945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27307,42 +27959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27354,19 +28006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27432,60 +28084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27493,13 +28145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27507,42 +28159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27554,19 +28206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27632,60 +28284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27693,13 +28345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27707,42 +28359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27754,19 +28406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27832,60 +28484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -27893,13 +28545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27907,42 +28559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27954,19 +28606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28032,60 +28684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28093,13 +28745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28107,42 +28759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28154,19 +28806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28232,60 +28884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28293,13 +28945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28307,42 +28959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28354,19 +29006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28432,60 +29084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28493,13 +29145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28507,42 +29159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28554,19 +29206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28632,60 +29284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28693,13 +29345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28707,42 +29359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28754,19 +29406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28832,60 +29484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -28893,13 +29545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28907,42 +29559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28954,19 +29606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29032,60 +29684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29093,13 +29745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29107,42 +29759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29154,19 +29806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29232,60 +29884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29293,13 +29945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29307,42 +29959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29354,19 +30006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29432,60 +30084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29493,13 +30145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29507,42 +30159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29554,19 +30206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29632,60 +30284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29693,13 +30345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29707,42 +30359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29754,19 +30406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29832,60 +30484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -29893,13 +30545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29907,42 +30559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29954,19 +30606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30032,60 +30684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30093,13 +30745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30107,42 +30759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30154,19 +30806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30232,60 +30884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30293,13 +30945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30307,42 +30959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30354,19 +31006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30432,60 +31084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30493,13 +31145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30507,42 +31159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30554,19 +31206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30632,60 +31284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30693,13 +31345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30707,42 +31359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30754,19 +31406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30832,60 +31484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -30893,13 +31545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30907,42 +31559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30954,19 +31606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31032,60 +31684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31093,13 +31745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31107,42 +31759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31154,19 +31806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31232,60 +31884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31293,13 +31945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31307,42 +31959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31354,19 +32006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31432,60 +32084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31493,13 +32145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31507,42 +32159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31554,19 +32206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31632,60 +32284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31693,13 +32345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31707,42 +32359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31754,19 +32406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31832,60 +32484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -31893,13 +32545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31907,42 +32559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31954,19 +32606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32032,60 +32684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32093,13 +32745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32107,42 +32759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32154,19 +32806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32232,60 +32884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32293,13 +32945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32307,42 +32959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32354,19 +33006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32432,60 +33084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32493,13 +33145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32507,42 +33159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32554,19 +33206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32632,60 +33284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32693,13 +33345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32707,42 +33359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32754,19 +33406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32832,60 +33484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -32893,13 +33545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32907,42 +33559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32954,19 +33606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33032,60 +33684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33093,13 +33745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33107,42 +33759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33154,19 +33806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33232,60 +33884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33293,13 +33945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33307,42 +33959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33354,19 +34006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33432,60 +34084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33493,13 +34145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33507,42 +34159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33554,19 +34206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33632,60 +34284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33693,13 +34345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33707,42 +34359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33754,19 +34406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33832,60 +34484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -33893,13 +34545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33907,42 +34559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33954,19 +34606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34032,60 +34684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34093,13 +34745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34107,42 +34759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34154,19 +34806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34232,60 +34884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34293,13 +34945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34307,42 +34959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34354,19 +35006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34432,60 +35084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34493,13 +35145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34507,42 +35159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34554,19 +35206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34632,60 +35284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34693,13 +35345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34707,42 +35359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34754,19 +35406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34832,60 +35484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -34893,13 +35545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34907,42 +35559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34954,19 +35606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35032,60 +35684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35093,13 +35745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35107,42 +35759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35154,19 +35806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35232,60 +35884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35293,13 +35945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35307,42 +35959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35354,19 +36006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35432,60 +36084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35493,13 +36145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35507,42 +36159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35554,19 +36206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35632,60 +36284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35693,13 +36345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35707,42 +36359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35754,19 +36406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35832,60 +36484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -35893,13 +36545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35907,42 +36559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35954,19 +36606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36032,60 +36684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36093,13 +36745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36107,42 +36759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36154,19 +36806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36232,60 +36884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36293,13 +36945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36307,42 +36959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36354,19 +37006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36432,60 +37084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36493,13 +37145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36507,42 +37159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36554,19 +37206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36632,60 +37284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36693,13 +37345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36707,42 +37359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36754,19 +37406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36832,60 +37484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -36893,13 +37545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36907,42 +37559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36954,19 +37606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37032,60 +37684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37093,13 +37745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37107,42 +37759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37154,19 +37806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37232,60 +37884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37293,13 +37945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37307,42 +37959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37354,19 +38006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37432,60 +38084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37493,13 +38145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37507,42 +38159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37554,19 +38206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37632,60 +38284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37693,13 +38345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37707,42 +38359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37754,19 +38406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37832,60 +38484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -37893,13 +38545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37907,42 +38559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37954,19 +38606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38032,60 +38684,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38093,13 +38745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38107,42 +38759,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38154,19 +38806,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38232,60 +38884,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38293,13 +38945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38307,42 +38959,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38354,19 +39006,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38432,60 +39084,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38493,13 +39145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38507,42 +39159,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38554,19 +39206,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38632,60 +39284,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38693,13 +39345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38707,42 +39359,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38754,19 +39406,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38832,60 +39484,60 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE -CODE. The software is +CODE.  The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i. Right to Use and Distribute. -· +i.      Right to Use and Distribute. +·        You may copy and distribute the object code form of the software. -· +·        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. -ii. Distribution Requirements. For any +ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +·        use the Distributable Code in your applications and not as a standalone distribution; -· +·        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. -iii. Distribution Restrictions. You may not -· +iii.   Distribution Restrictions. You may not +·        use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +·        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An “Excluded License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services. You may opt-out of many of these scenarios, but not all, as -described in the software documentation. There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft’s @@ -38893,13 +39545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38907,42 +39559,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +·        work around any technical limitations in the software; -· +·        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +·        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +·        use the software in any way that is against the law; or -· +·        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. -7. +on export restrictions, visit www.microsoft.com/exporting.   +7.    SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9. Applicable Law. If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38954,19 +39606,19 @@ software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: -a) Australia. You have statutory guarantees under the Australian Consumer +a)    Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. -b) Canada. If you acquired this software in Canada, you may stop +b)    Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. -c) Germany and Austria. -(i) Warranty. The software will perform +c)    Germany and Austria. +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii) Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39965,3 +40617,4 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ``` </details> + diff --git a/docs/setup/schema.md b/docs/setup/schema.md index 52721a5cc..74d39c59a 100644 --- a/docs/setup/schema.md +++ b/docs/setup/schema.md @@ -68,7 +68,7 @@ The `InformaticsGateway` configuration section contains the following sub-sectio "rejectUnknownSources": true }, "scu": { - "aeTitle": "MonaiSCU", + "aeTitle": "MONAISCU", "logDimseDatasets": false, "logDataPDUs": false } diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index b02cb3a69..332e40ae6 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -29,7 +29,7 @@ <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.8" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.4" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" /> diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 6768705d2..9d12f69b6 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -33,7 +33,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 16de01e52..ad5131f0b 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -52,7 +52,7 @@ <ItemGroup> <PackageReference Include="Crayon" Version="2.0.64" /> - <PackageReference Include="Docker.DotNet" Version="3.125.11" /> + <PackageReference Include="Docker.DotNet" Version="3.125.12" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> @@ -62,6 +62,6 @@ <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.CommandLine.Rendering" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> </Project> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index 46dc3f33e..c2bff8baf 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -35,7 +35,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj b/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj index 8262cf20a..f0ccd7f79 100644 --- a/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj +++ b/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj @@ -30,7 +30,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="System.Text.Json" Version="6.0.5" /> + <PackageReference Include="System.Text.Json" Version="6.0.6" /> </ItemGroup> <ItemGroup> diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index d0636340c..bc35dbd9d 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -32,7 +32,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> <PackageReference Include="System.Threading.Tasks.Dataflow" Version="6.0.0" /> </ItemGroup> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 75f0365f3..39e3bee21 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index a9fc2b084..27d6b14ba 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -28,11 +28,11 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.1" /> + <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.4" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> - <PackageReference Include="System.IO.Abstractions" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> <ItemGroup> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index a0366eaa1..b1f54fb8e 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -35,7 +35,7 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index 015eab47d..4188f5640 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -42,12 +42,12 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.8"> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.9"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.8" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.9" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index f4f533629..5097878b7 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -33,16 +33,16 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.7.1" /> + <PackageReference Include="DotNext.Threading" Version="4.7.2" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.8" /> + <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.9" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 27f1f639b..b2a502ad6 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -35,11 +35,11 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.8" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.9" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Test/appsettings.json b/src/InformaticsGateway/Test/appsettings.json index 22b78c6c1..ab2d2eeac 100644 --- a/src/InformaticsGateway/Test/appsettings.json +++ b/src/InformaticsGateway/Test/appsettings.json @@ -10,7 +10,7 @@ "rejectUnknownSources": true }, "scu": { - "aeTitle": "MonaiSCU", + "aeTitle": "MONAISCU", "logDimseDatasets": false, "logDataPDUs": false } diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index c5fce2636..78bdfd272 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -10,7 +10,7 @@ "rejectUnknownSources": true }, "scu": { - "aeTitle": "MonaiSCU", + "aeTitle": "MONAISCU", "logDimseDatasets": false, "logDataPDUs": false } diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 3a596fd89..f0966a510 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -25,8 +25,8 @@ <ItemGroup> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.8" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.8" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.9" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> diff --git a/tests/Integration.Test/configs/informatics-gateway.json b/tests/Integration.Test/configs/informatics-gateway.json index 2b5cadeac..8686009f8 100644 --- a/tests/Integration.Test/configs/informatics-gateway.json +++ b/tests/Integration.Test/configs/informatics-gateway.json @@ -10,7 +10,7 @@ "rejectUnknownSources": true }, "scu": { - "aeTitle": "MonaiSCU", + "aeTitle": "MONAISCU", "logDimseDatasets": false, "logDataPDUs": false } From 09887b1bff6ec7d77e69e0256edc76bac1ec6a82 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 23 Sep 2022 09:20:35 -0700 Subject: [PATCH 030/101] Ability to switch temporary storage to use either memory or disk (#166) * Ability to switch temporary storage to use either memory or disk Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix configuration name for temp data storage. Signed-off-by: Victor Chang <vicchang@nvidia.com> * Validate storage configurations based on temp storage location Signed-off-by: Victor Chang <vicchang@nvidia.com> * Log time for a payload to complete end-to-end within the service. Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/Api/Storage/Payload.cs | 2 + src/Api/Storage/StorageObjectMetadata.cs | 25 ++++++- src/Configuration/ConfigurationValidator.cs | 38 +++++++++- src/Configuration/StorageConfiguration.cs | 15 ++++ .../TemporaryDataStorageLocation.cs | 24 ++++++ .../Test/ConfigurationValidatorTest.cs | 38 ++++++++-- src/Database/PayloadConfiguration.cs | 1 + .../Common/FileStorageMetadataExtensions.cs | 75 ++++++++++++++++--- .../Logging/Log.700.PayloadService.cs | 4 +- .../Connectors/DataRetrievalService.cs | 9 ++- .../PayloadNotificationActionHandler.cs | 2 +- .../Services/DicomWeb/IStreamsWriter.cs | 8 +- .../Services/Fhir/FhirJsonReader.cs | 11 ++- .../Services/Fhir/FhirService.cs | 7 +- .../Services/Fhir/FhirXmlReader.cs | 11 ++- .../Services/HealthLevel7/MllpService.cs | 5 +- .../Services/Scp/ApplicationEntityHandler.cs | 12 ++- .../DicomFileStorageMetadataExtensionsTest.cs | 40 +++++++++- .../Connectors/DataRetrievalServiceTest.cs | 4 + .../Services/DicomWeb/StreamsWriterTest.cs | 22 +++--- .../Test/Services/Fhir/FhirJsonReaderTest.cs | 17 +++-- .../Test/Services/Fhir/FhirServiceTest.cs | 4 + .../Test/Services/Fhir/FhirXmlReaderTest.cs | 19 +++-- .../Services/HealthLevel7/MllpServiceTest.cs | 5 +- .../Scp/ApplicationEntityHandlerTest.cs | 24 ++++-- .../Storage/ObjectUploadServiceTest.cs | 11 ++- 26 files changed, 353 insertions(+), 80 deletions(-) create mode 100644 src/Configuration/TemporaryDataStorageLocation.cs diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index d0fcb4e3e..af584bb20 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -66,6 +66,8 @@ public enum PayloadState public bool HasTimedOut { get => ElapsedTime().TotalSeconds >= Timeout; } + public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } + public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } public string CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index 7e17289da..fae88b73a 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.Runtime; using System.Text.Json.Serialization; using Ardalis.GuardClauses; @@ -123,9 +124,27 @@ public void SetUploaded(string bucketName) if (Data is not null && Data.CanSeek) { - Data.Close(); - Data.Dispose(); - Data = null; + if (Data is FileStream fileStream) + { + var filename = fileStream.Name; + Data.Close(); + Data.Dispose(); + Data = null; + System.IO.File.Delete(filename); + } + else // MemoryStream + { + Data.Close(); + Data.Dispose(); + Data = null; + + // When IG stores all received/downloaded data in-memory using MemoryStream, LOH grows tremendously and thus impacts the performance and + // memory usage. The following makes sure LOH is compacted after the data is uploaded. + GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; +#pragma warning disable S1215 // "GC.Collect" should not be called + GC.Collect(); +#pragma warning restore S1215 // "GC.Collect" should not be called + } } } diff --git a/src/Configuration/ConfigurationValidator.cs b/src/Configuration/ConfigurationValidator.cs index bd8c18db2..86d7cb51d 100644 --- a/src/Configuration/ConfigurationValidator.cs +++ b/src/Configuration/ConfigurationValidator.cs @@ -17,6 +17,8 @@ using System; using System.Collections.Generic; +using System.IO; +using System.IO.Abstractions; using System.Text.RegularExpressions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -29,6 +31,7 @@ namespace Monai.Deploy.InformaticsGateway.Configuration public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfiguration> { private readonly ILogger<ConfigurationValidator> _logger; + private readonly IFileSystem _fileSystem; private readonly List<string> _validationErrors; /// <summary> @@ -36,9 +39,10 @@ public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfigu /// </summary> /// <param name="configuration">InformaticsGatewayConfiguration to be validated</param> /// <param name="logger">Logger to be used by ConfigurationValidator</param> - public ConfigurationValidator(ILogger<ConfigurationValidator> logger) + public ConfigurationValidator(ILogger<ConfigurationValidator> logger, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _validationErrors = new List<string>(); } @@ -82,6 +86,38 @@ private bool IsStorageValid(StorageConfiguration storage) valid &= IsValueInRange("InformaticsGateway>storage>reserveSpaceGB", 1, 999, storage.ReserveSpaceGB); valid &= IsValueInRange("InformaticsGateway>storage>payloadProcessThreads", 1, 128, storage.PayloadProcessThreads); valid &= IsValueInRange("InformaticsGateway>storage>concurrentUploads", 1, 128, storage.ConcurrentUploads); + valid &= IsValueInRange("InformaticsGateway>storage>memoryThreshold", 1, int.MaxValue, storage.MemoryThreshold); + + if (storage.TemporaryDataStorage == TemporaryDataStorageLocation.Disk) + { + valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); + valid &= IsValidDirectory("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); + valid &= IsValueInRange("InformaticsGateway>storage>bufferSize", 1, int.MaxValue, storage.BufferSize); + } + + return valid; + } + + private bool IsValidDirectory(string source, string directory) + { + var valid = true; + try + { + if (!_fileSystem.Directory.Exists(directory)) + { + valid = false; + _validationErrors.Add($"Directory `{directory}` specified in `{source}` does not exist."); + } + else + { + using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); + } + } + catch (Exception ex) + { + valid = false; + _validationErrors.Add($"Directory `{directory}` specified in `{source}` is not accessible: {ex.Message}."); + } return valid; } diff --git a/src/Configuration/StorageConfiguration.cs b/src/Configuration/StorageConfiguration.cs index 8995e52c8..871216522 100644 --- a/src/Configuration/StorageConfiguration.cs +++ b/src/Configuration/StorageConfiguration.cs @@ -22,6 +22,13 @@ namespace Monai.Deploy.InformaticsGateway.Configuration { public class StorageConfiguration : StorageServiceConfiguration { + /// <summary> + /// Gets or sets whether to store temporary data in <c>Memory</c> or on <c>Disk</c>. + /// Defaults to <c>Memory</c>. + /// </summary> + [ConfigurationKeyName("tempStorageLocation")] + public TemporaryDataStorageLocation TemporaryDataStorage { get; set; } = TemporaryDataStorageLocation.Memory; + /// <summary> /// Gets or sets the path used for buffering incoming data. /// Defaults to <c>./temp</c>. @@ -29,6 +36,14 @@ public class StorageConfiguration : StorageServiceConfiguration [ConfigurationKeyName("bufferRootPath")] public string BufferStorageRootPath { get; set; } = "./temp"; + /// <summary> + /// Gets or sets the number of bytes buffered for reads and writes to the temporary file. + /// Defaults to <c>128000</c>. + /// </summary> + [ConfigurationKeyName("bufferSize")] + public int BufferSize { get; set; } = 128000; + + /// <summary> /// Gets or set the maximum memory buffer size in bytes with default to 30MiB. /// </summary> diff --git a/src/Configuration/TemporaryDataStorageLocation.cs b/src/Configuration/TemporaryDataStorageLocation.cs new file mode 100644 index 000000000..01fe8305d --- /dev/null +++ b/src/Configuration/TemporaryDataStorageLocation.cs @@ -0,0 +1,24 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Configuration +{ + public enum TemporaryDataStorageLocation + { + Memory, + Disk + } +} diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index 9c60a5c4b..fa282b697 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -15,6 +15,8 @@ */ using System; +using System.IO; +using System.IO.Abstractions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -26,17 +28,19 @@ namespace Monai.Deploy.InformaticsGateway.Configuration.Test public class ConfigurationValidatorTest { private readonly Mock<ILogger<ConfigurationValidator>> _logger; + private readonly Mock<IFileSystem> _fileSystem; public ConfigurationValidatorTest() { _logger = new Mock<ILogger<ConfigurationValidator>>(); + _fileSystem = new Mock<IFileSystem>(); } [Fact(DisplayName = "ConfigurationValidator test with all valid settings")] public void AllValid() { var config = MockValidConfiguration(); - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); Assert.True(valid == ValidateOptionsResult.Success); } @@ -46,7 +50,7 @@ public void InvalidScpPort() var config = MockValidConfiguration(); config.Dicom.Scp.Port = Int32.MaxValue; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = $"Invalid port number '{Int32.MaxValue}' specified for InformaticsGateway>dicom>scp>port."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -59,7 +63,7 @@ public void InvalidScpMaxAssociations() var config = MockValidConfiguration(); config.Dicom.Scp.MaximumNumberOfAssociations = 0; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = $"Value of InformaticsGateway>dicom>scp>max-associations must be between {1} and {1000}."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -72,7 +76,7 @@ public void StorageWithInvalidWatermark() var config = MockValidConfiguration(); config.Storage.Watermark = 1000; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>watermark must be between 1 and 100."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -85,7 +89,7 @@ public void StorageWithInvalidReservedSpace() var config = MockValidConfiguration(); config.Storage.ReserveSpaceGB = 9999; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>reserveSpaceGB must be between 1 and 999."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -98,7 +102,7 @@ public void StorageWithInvalidTemporaryBucketName() var config = MockValidConfiguration(); config.Storage.TemporaryStorageBucket = " "; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>temporaryBucketName is required.", "Value for InformaticsGateway>storage>temporaryBucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -114,7 +118,7 @@ public void StorageWithInvalidBucketName() var config = MockValidConfiguration(); config.Storage.StorageServiceBucketName = ""; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>bucketName is required.", "Value for InformaticsGateway>storage>bucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -124,6 +128,26 @@ public void StorageWithInvalidBucketName() } } + [Fact(DisplayName = "ConfigurationValidator test with inaccessible directory")] + public void StorageWithInaccessbleDirectory() + { + _fileSystem.Setup(p => p.Directory.Exists(It.IsAny<string>())).Returns(true); + _fileSystem.Setup(p => p.File.Create(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<FileOptions>())).Throws(new UnauthorizedAccessException("error")); + + var config = MockValidConfiguration(); + config.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Disk; + config.Storage.BufferStorageRootPath = "/blabla"; + + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + + var validationMessages = new[] { $"Directory `/blabla` specified in `InformaticsGateway>storage>bufferRootPath` is not accessible: error." }; + Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); + foreach (var message in validationMessages) + { + _logger.VerifyLogging(message, LogLevel.Error, Times.Once()); + } + } + private static InformaticsGatewayConfiguration MockValidConfiguration() { var config = new InformaticsGatewayConfiguration(); diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/PayloadConfiguration.cs index 171b10ac1..b40c9e7c1 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/PayloadConfiguration.cs @@ -57,6 +57,7 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.CalledAeTitle); builder.Ignore(j => j.CallingAeTitle); builder.Ignore(j => j.HasTimedOut); + builder.Ignore(j => j.Elapsed); builder.Ignore(j => j.Count); } } diff --git a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs index dabb80437..27988b2fa 100644 --- a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs +++ b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs @@ -14,41 +14,92 @@ * limitations under the License. */ -using System.IO; +using System.IO.Abstractions; using System.Text; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom; using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; namespace Monai.Deploy.InformaticsGateway.Common { internal static class FileStorageMetadataExtensions { - public static async Task SetDataStreams(this DicomFileStorageMetadata dicomFileStorageMetadata, DicomFile dicomFile, string dicomJson) + public static async Task SetDataStreams( + this DicomFileStorageMetadata dicomFileStorageMetadata, + DicomFile dicomFile, + string dicomJson, + TemporaryDataStorageLocation storageLocation, + IFileSystem fileSystem = null, + string temporaryStoragePath = "") { Guard.Against.Null(dicomFile, nameof(dicomFile)); Guard.Against.Null(dicomJson, nameof(dicomJson)); // allow empty here - dicomFileStorageMetadata.File.Data = new MemoryStream(); + switch (storageLocation) + { + case TemporaryDataStorageLocation.Disk: + Guard.Against.Null(fileSystem, nameof(fileSystem)); + Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); + + var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{System.DateTime.UtcNow.Ticks}.tmp"); + dicomFileStorageMetadata.File.Data = fileSystem.File.Create(tempFile); + break; + default: + dicomFileStorageMetadata.File.Data = new System.IO.MemoryStream(); + break; + } + await dicomFile.SaveAsync(dicomFileStorageMetadata.File.Data).ConfigureAwait(false); - dicomFileStorageMetadata.File.Data.Seek(0, SeekOrigin.Begin); + dicomFileStorageMetadata.File.Data.Seek(0, System.IO.SeekOrigin.Begin); - SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson); + await SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson, storageLocation, fileSystem, temporaryStoragePath); } - public static void SetDataStream(this FhirFileStorageMetadata fhirFileStorageMetadata, string json) - => SetTextStream(fhirFileStorageMetadata.File, json); + public static async Task SetDataStream( + this FhirFileStorageMetadata fhirFileStorageMetadata, + string json, + TemporaryDataStorageLocation storageLocation, + IFileSystem fileSystem = null, + string temporaryStoragePath = "") + => await SetTextStream(fhirFileStorageMetadata.File, json, storageLocation, fileSystem, temporaryStoragePath); - public static void SetDataStream(this Hl7FileStorageMetadata hl7FileStorageMetadata, string message) - => SetTextStream(hl7FileStorageMetadata.File, message); + public static async Task SetDataStream( + this Hl7FileStorageMetadata hl7FileStorageMetadata, + string message, + TemporaryDataStorageLocation storageLocation, + IFileSystem fileSystem = null, + string temporaryStoragePath = "") + => await SetTextStream(hl7FileStorageMetadata.File, message, storageLocation, fileSystem, temporaryStoragePath); - private static void SetTextStream(StorageObjectMetadata storageObjectMetadata, string message) + private static async Task SetTextStream( + StorageObjectMetadata storageObjectMetadata, + string message, + TemporaryDataStorageLocation storageLocation, + IFileSystem fileSystem = null, + string temporaryStoragePath = "") { Guard.Against.Null(message, nameof(message)); // allow empty here - storageObjectMetadata.Data = new MemoryStream(Encoding.UTF8.GetBytes(message)); - storageObjectMetadata.Data.Seek(0, SeekOrigin.Begin); + switch (storageLocation) + { + case TemporaryDataStorageLocation.Disk: + Guard.Against.Null(fileSystem, nameof(fileSystem)); + Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); + + var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{System.DateTime.UtcNow.Ticks}.tmp"); + var stream = fileSystem.File.Create(tempFile); + var data = Encoding.UTF8.GetBytes(message); + await stream.WriteAsync(data, 0, data.Length); + storageObjectMetadata.Data = stream; + break; + default: + storageObjectMetadata.Data = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(message)); + break; + } + + storageObjectMetadata.Data.Seek(0, System.IO.SeekOrigin.Begin); } } } diff --git a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs index 588669efe..5cb9aaa3f 100644 --- a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs +++ b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs @@ -53,8 +53,8 @@ public static partial class Log [LoggerMessage(EventId = 711, Level = LogLevel.Information, Message = "Publishing workflow request message ID={messageId}...")] public static partial void PublishingWorkflowRequest(this ILogger logger, string messageId); - [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}.")] - public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId); + [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}. Payload took {payloadElapsedTime} to complete.")] + public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId, TimeSpan payloadElapsedTime); [LoggerMessage(EventId = 713, Level = LogLevel.Information, Message = "Restoring payloads from database.")] public static partial void StartupRestoreFromDatabase(this ILogger logger); diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index ea39f5d0b..ada4e956f 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; +using System.IO.Abstractions; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; @@ -55,6 +56,7 @@ internal class DataRetrievalService : IHostedService, IMonaiService, IDisposable private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; private readonly IDicomToolkit _dicomToolkit; + private readonly IFileSystem _fileSystem; private bool _disposedValue; public ServiceStatus Status { get; set; } @@ -77,6 +79,7 @@ public DataRetrievalService( _uploadQueue = _rootScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _rootScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _dicomToolkit = _rootScope.ServiceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); + _fileSystem = _rootScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public Task StartAsync(CancellationToken cancellationToken) @@ -330,7 +333,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - fhirFile.SetDataStream(json); + await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -509,7 +512,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -539,7 +542,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index c45c1cbc4..4a50c3fd7 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -138,7 +138,7 @@ await _messageBrokerPublisherService.Publish( _options.Value.Messaging.Topics.WorkflowRequest, message.ToMessage()).ConfigureAwait(false); - _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId); + _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId, payload.Elapsed); } private async Task<PayloadAction> UpdatePayloadState(Payload payload) diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index 35cf29a15..c09943d4c 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -43,6 +44,7 @@ internal interface IStreamsWriter internal class StreamsWriter : IStreamsWriter { private readonly ILogger<StreamsWriter> _logger; + private readonly IFileSystem _fileSystem; private readonly IObjectUploadQueue _uploadQueue; private readonly IDicomToolkit _dicomToolkit; private readonly IPayloadAssembler _payloadAssembler; @@ -56,13 +58,15 @@ public StreamsWriter( IDicomToolkit dicomToolkit, IPayloadAssembler payloadAssembler, IOptions<InformaticsGatewayConfiguration> configuration, - ILogger<StreamsWriter> logger) + ILogger<StreamsWriter> logger, + IFileSystem fileSystem) { _uploadQueue = fileStore ?? throw new ArgumentNullException(nameof(fileStore)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _payloadAssembler = payloadAssembler ?? throw new ArgumentNullException(nameof(payloadAssembler)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _resultDicomDataset = new DicomDataset(); _failureCount = 0; _storedCount = 0; @@ -165,7 +169,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index 9b8ab8b99..2f56dffb5 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text.Json; using System.Text.Json.Nodes; using System.Threading; @@ -23,9 +24,11 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -33,10 +36,14 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirJsonReader : IFHirRequestReader { private readonly ILogger<FhirJsonReader> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; - public FhirJsonReader(ILogger<FhirJsonReader> logger) + public FhirJsonReader(ILogger<FhirJsonReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -68,7 +75,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); - fileMetadata.SetDataStream(result.RawData); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs index 59c3b8cf0..f66dbc830 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirService.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -15,6 +15,7 @@ */ using System; +using System.IO.Abstractions; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -41,6 +42,7 @@ internal class FhirService : IFhirService private readonly ILogger<FhirService> _logger; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; + private readonly IFileSystem _fileSystem; public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<InformaticsGatewayConfiguration> configuration) { @@ -51,6 +53,7 @@ public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic _logger = scope.ServiceProvider.GetService<ILogger<FhirService>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirService>)); _payloadAssembler = scope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); + _fileSystem = scope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) @@ -100,13 +103,13 @@ private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeader if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirJsonReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirJsonReader>)); - return new FhirJsonReader(logger); + return new FhirJsonReader(logger, _configuration, _fileSystem); } if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirXmlReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirXmlReader>)); - return new FhirXmlReader(logger); + return new FhirXmlReader(logger, _configuration, _fileSystem); } throw new UnsupportedContentTypeException($"Media type of '{mediaTypeHeaderValue.MediaType}' is not supported."); diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index 07610c6b2..2d975db8a 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -23,9 +24,11 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -33,10 +36,14 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirXmlReader : IFHirRequestReader { private readonly ILogger<FhirXmlReader> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; - public FhirXmlReader(ILogger<FhirXmlReader> logger) + public FhirXmlReader(ILogger<FhirXmlReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -80,7 +87,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.InternalResourceType = rootNode.Name; var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); - fileMetadata.SetDataStream(result.RawData); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index 3ba770ffd..ba657f8b2 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -43,6 +44,7 @@ internal sealed class MllpService : IHostedService, IDisposable, IMonaiService private readonly IMllpClientFactory _mllpClientFactory; private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; + private readonly IFileSystem _fileSystem; private readonly IServiceScope _serviceScope; private readonly ILoggerFactory _logginFactory; private readonly ILogger<MllpService> _logger; @@ -79,6 +81,7 @@ public MllpService(IServiceScopeFactory serviceScopeFactory, _mllpClientFactory = _serviceScope.ServiceProvider.GetService<IMllpClientFactory>() ?? throw new ServiceNotFoundException(nameof(IMllpClientFactory)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); + _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); _activeTasks = new ConcurrentDictionary<Guid, IMllpClient>(); } @@ -158,7 +161,7 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - hl7Fileetadata.SetDataStream(message.HL7Message); + await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index 46bec278e..a856c09fd 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -15,12 +15,14 @@ */ using System; +using System.IO.Abstractions; using System.Linq; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; @@ -34,11 +36,12 @@ namespace Monai.Deploy.InformaticsGateway.Services.Scp internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler { private readonly ILogger<ApplicationEntityHandler> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly IServiceScope _serviceScope; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - + private readonly IFileSystem _fileSystem; private MonaiApplicationEntity _configuration; private DicomJsonOptions _dicomJsonOptions; private bool _validateDicomValueOnJsonSerialization; @@ -46,14 +49,17 @@ internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler public ApplicationEntityHandler( IServiceScopeFactory serviceScopeFactory, - ILogger<ApplicationEntityHandler> logger) + ILogger<ApplicationEntityHandler> logger, + IOptions<InformaticsGatewayConfiguration> options) { Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); _serviceScope = serviceScopeFactory.CreateScope(); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); + _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) @@ -95,7 +101,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index 3f389a152..a572279f4 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions.TestingHelpers; using System.Text; using System.Threading.Tasks; using FellowOakDicom; @@ -31,7 +32,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Common public class DicomFileStorageMetadataExtensionsTest { [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_ExpectDataStreamsAreSet() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithInMemoryStore_ExpectDataStreamsAreSet() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -42,7 +43,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe var dicom = InstanceGenerator.GenerateDicomFile(); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); @@ -59,7 +60,38 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe } [Fact] - public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithDiskStore_ExpectDataStreamsAreSet() + { + var fileSystem = new MockFileSystem(); + fileSystem.AddDirectory("/temp"); + + var metadata = new DicomFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var dicom = InstanceGenerator.GenerateDicomFile(); + var json = dicom.ToJson(DicomJsonOptions.Complete, false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Disk, fileSystem, "/temp").ConfigureAwait(false); + + Assert.NotNull(metadata.File.Data); + Assert.NotNull(metadata.JsonFile.Data); + + var ms = new MemoryStream(); + await dicom.SaveAsync(ms).ConfigureAwait(false); + Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); + + var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); + Assert.Equal(json.Trim(), jsonFromStream.Trim()); + + var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); + Assert.Equal(dicom.Dataset, dicomFileFromJson); + } + + [Fact] + public void GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -94,7 +126,7 @@ public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataSt dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234392234", "0.2354257587243524352345"); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index bb2f0fc69..8b1751733 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; @@ -54,6 +55,7 @@ public class DataRetrievalServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IDicomToolkit> _dicomToolkit; + private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IInferenceRequestRepository> _inferenceRequestStore; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; @@ -74,6 +76,7 @@ public DataRetrievalServiceTest() _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _uploadQueue = new Mock<IObjectUploadQueue>(); _dicomToolkit = new Mock<IDicomToolkit>(); + _fileSystem = new Mock<IFileSystem>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _serviceScope = new Mock<IServiceScope>(); @@ -90,6 +93,7 @@ public DataRetrievalServiceTest() services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _dicomToolkit.Object); services.AddScoped(p => _inferenceRequestStore.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); diff --git a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs index c6295fc2f..451d0633d 100644 --- a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs +++ b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions.TestingHelpers; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -38,6 +39,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.DicomWeb public class StreamsWriterTest { private readonly Mock<ILogger<StreamsWriter>> _logger; + private readonly MockFileSystem _fileSystem; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IPayloadAssembler> _payloadAssembler; @@ -50,17 +52,19 @@ public StreamsWriterTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _configuration = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<StreamsWriter>>(); + _fileSystem = new MockFileSystem(); } [Fact] public void GivenAStreamsWriter_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null)); - var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, null)); + var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem)); Assert.Null(exception); } @@ -72,7 +76,7 @@ public async Task GivenAHttpStream_WhenFailedToOpenAsDicomInstance_ExpectStatus4 .Throws(new Exception("error")); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var streams = GenerateDicomStreams(studyInstanceUid); var result = await writer.Save( @@ -94,7 +98,7 @@ public async Task GivingADicomInstanceWithoutAMatchingStudyInstanceUid_WhenSavei _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); @@ -132,7 +136,7 @@ public async Task GivingAValidDicomInstance_WhenSaveingInstance_ExpectInstanceTo _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs index d224f7a05..7444f4177 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs @@ -16,11 +16,14 @@ using System; using System.IO; +using System.IO.Abstractions; +using System.IO.Abstractions.TestingHelpers; using System.Text.Json; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Fhir; @@ -31,13 +34,15 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir { public class FhirJsonReaderTest { - private readonly InformaticsGatewayConfiguration _config; private readonly Mock<ILogger<FhirJsonReader>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; public FhirJsonReaderTest() { - _config = new InformaticsGatewayConfiguration(); _logger = new Mock<ILogger<FhirJsonReader>>(); + _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); + _fileSystem = new MockFileSystem(); } [Fact] @@ -46,7 +51,7 @@ public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() var request = new Mock<HttpRequest>(); var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; - var reader = new FhirJsonReader(_logger.Object); + var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); @@ -62,7 +67,7 @@ public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object); + var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<ArgumentNullException>(async () => { @@ -83,7 +88,7 @@ public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object); + var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAnyAsync<JsonException>(async () => { @@ -106,7 +111,7 @@ public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(strin var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object); + var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); var data = System.Text.Encoding.UTF8.GetBytes(xml); using var stream = new System.IO.MemoryStream(); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index ccb22751e..422fe6bdf 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -43,6 +44,7 @@ public class FhirServiceTest private readonly Mock<ILogger<FhirService>> _logger; private readonly Mock<ILogger<FhirJsonReader>> _loggerJson; private readonly Mock<ILogger<FhirXmlReader>> _loggerXml; + private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; @@ -62,6 +64,7 @@ public FhirServiceTest() _logger = new Mock<ILogger<FhirService>>(); _loggerJson = new Mock<ILogger<FhirJsonReader>>(); _loggerXml = new Mock<ILogger<FhirXmlReader>>(); + _fileSystem = new Mock<IFileSystem>(); _httpRequest = new Mock<HttpRequest>(); @@ -73,6 +76,7 @@ public FhirServiceTest() services.AddScoped(p => _loggerXml.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs index 1475e954a..606026b73 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs @@ -16,12 +16,16 @@ using System; using System.IO; +using System.IO.Abstractions; +using System.IO.Abstractions.TestingHelpers; using System.Threading; using System.Threading.Tasks; using System.Xml; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Fhir; using Moq; using Xunit; @@ -31,10 +35,15 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir public class FhirXmlReaderTest { private readonly Mock<ILogger<FhirXmlReader>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; public FhirXmlReaderTest() { _logger = new Mock<ILogger<FhirXmlReader>>(); + _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); + _fileSystem = new MockFileSystem(); + } [Fact] @@ -43,7 +52,7 @@ public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() var request = new Mock<HttpRequest>(); var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; - var reader = new FhirXmlReader(_logger.Object); + var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); @@ -59,7 +68,7 @@ public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object); + var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<ArgumentNullException>(async () => { @@ -80,7 +89,7 @@ public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object); + var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<XmlException>(async () => { @@ -100,7 +109,7 @@ public async Task GetContentAsync_WhenCalledWithNonFhirContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object); + var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); await Assert.ThrowsAsync<FhirStoreException>(async () => { @@ -123,7 +132,7 @@ public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(strin var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object); + var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); var data = System.Text.Encoding.UTF8.GetBytes(xml); using var stream = new System.IO.MemoryStream(); diff --git a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs index d4f374425..61a2dc23b 100644 --- a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs @@ -16,6 +16,7 @@ using System; using System.Collections.Generic; +using System.IO.Abstractions; using System.Net; using System.Threading; using System.Threading.Tasks; @@ -47,7 +48,7 @@ public class MllpServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<ITcpListener> _tcpListener; - + private readonly Mock<IFileSystem> _fileSystem; private readonly CancellationTokenSource _cancellationTokenSource; private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<ILogger<MllpService>> _logger; @@ -64,6 +65,7 @@ public MllpServiceTest() _uploadQueue = new Mock<IObjectUploadQueue>(); _payloadAssembler = new Mock<IPayloadAssembler>(); _tcpListener = new Mock<ITcpListener>(); + _fileSystem = new Mock<IFileSystem>(); _cancellationTokenSource = new CancellationTokenSource(); _serviceScope = new Mock<IServiceScope>(); @@ -77,6 +79,7 @@ public MllpServiceTest() services.AddScoped(p => _mllpClientFactory.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs index 0d7cad791..d81eb7528 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs @@ -16,14 +16,17 @@ using System; using System.Collections.Generic; +using System.IO.Abstractions; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.Services.Scp; using Monai.Deploy.InformaticsGateway.Services.Storage; @@ -41,7 +44,8 @@ public class ApplicationEntityHandlerTest private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; - + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly Mock<IFileSystem> _fileSystem; private readonly IServiceProvider _serviceProvider; public ApplicationEntityHandlerTest() @@ -52,10 +56,13 @@ public ApplicationEntityHandlerTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _uploadQueue = new Mock<IObjectUploadQueue>(); + _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); + _fileSystem = new Mock<IFileSystem>(); var services = new ServiceCollection(); services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _uploadQueue.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); @@ -66,10 +73,11 @@ public ApplicationEntityHandlerTest() [RetryFact(5, 250)] public void GivenAApplicationEntityHandler_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(null, null)); - Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, null)); + Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(null, null, null)); + Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, null, null)); + Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, null)); - _ = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); + _ = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); } [RetryFact(5, 250)] @@ -83,7 +91,7 @@ public async Task GivenAApplicationEntityHandler_WhenHandleInstanceAsyncIsCalled IgnoredSopClasses = new List<string> { DicomUID.SecondaryCaptureImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); var request = GenerateRequest(); var dicomToolkit = new DicomToolkit(); @@ -103,7 +111,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsInTheIgnoreList_ExpectIns IgnoredSopClasses = new List<string> { DicomUID.SecondaryCaptureImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); @@ -127,7 +135,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsNotInTheAllowedList_Expec AllowedSopClasses = new List<string> { DicomUID.UltrasoundImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); @@ -150,7 +158,7 @@ public async Task GivenACStoreRequest_WhenHandleInstanceAsyncIsCalled_ExpectADic Workflows = new List<string>() { "AppA", "AppB", Guid.NewGuid().ToString() } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index 5a7e445c3..d844eaec8 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -45,7 +45,6 @@ public class ObjectUploadServiceTest private readonly IObjectUploadQueue _uploadQueue; private readonly Mock<IStorageService> _storageService; private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; - private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; @@ -124,7 +123,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi } [Fact] - public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() + public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); _storageService.Setup(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>())) @@ -137,7 +136,7 @@ public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileTo Assert.Equal(ServiceStatus.Running, svc.Status); - var file = GenerateFhirFileStorageMetadata(); + var file = await GenerateFhirFileStorageMetadata(); _uploadQueue.Queue(file); Assert.True(countdownEvent.Wait(TimeSpan.FromSeconds(3))); @@ -145,11 +144,11 @@ public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileTo _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Once()); } - private FhirFileStorageMetadata GenerateFhirFileStorageMetadata() + private async Task<FhirFileStorageMetadata> GenerateFhirFileStorageMetadata() { var file = new FhirFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), FhirStorageFormat.Json); - file.SetDataStream("[]"); + await file.SetDataStream("[]", TemporaryDataStorageLocation.Memory); return file; } @@ -169,7 +168,7 @@ private async Task<DicomFileStorageMetadata> GenerateDicomFileStorageMetadata() { DicomTag.SOPClassUID, DicomUID.SecondaryCaptureImageStorage.UID } }; var dicomFile = new DicomFile(dataset); - await file.SetDataStreams(dicomFile, "[]"); + await file.SetDataStreams(dicomFile, "[]", TemporaryDataStorageLocation.Memory); return file; } } From dc898feed0289539f0fe8be196779139f96a2c82 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 23 Sep 2022 09:50:46 -0700 Subject: [PATCH 031/101] Revert "Ability to switch temporary storage to use either memory or disk (#166)" (#167) This reverts commit 09887b1bff6ec7d77e69e0256edc76bac1ec6a82. --- src/Api/Storage/Payload.cs | 2 - src/Api/Storage/StorageObjectMetadata.cs | 25 +------ src/Configuration/ConfigurationValidator.cs | 38 +--------- src/Configuration/StorageConfiguration.cs | 15 ---- .../TemporaryDataStorageLocation.cs | 24 ------ .../Test/ConfigurationValidatorTest.cs | 38 ++-------- src/Database/PayloadConfiguration.cs | 1 - .../Common/FileStorageMetadataExtensions.cs | 75 +++---------------- .../Logging/Log.700.PayloadService.cs | 4 +- .../Connectors/DataRetrievalService.cs | 9 +-- .../PayloadNotificationActionHandler.cs | 2 +- .../Services/DicomWeb/IStreamsWriter.cs | 8 +- .../Services/Fhir/FhirJsonReader.cs | 11 +-- .../Services/Fhir/FhirService.cs | 7 +- .../Services/Fhir/FhirXmlReader.cs | 11 +-- .../Services/HealthLevel7/MllpService.cs | 5 +- .../Services/Scp/ApplicationEntityHandler.cs | 12 +-- .../DicomFileStorageMetadataExtensionsTest.cs | 40 +--------- .../Connectors/DataRetrievalServiceTest.cs | 4 - .../Services/DicomWeb/StreamsWriterTest.cs | 22 +++--- .../Test/Services/Fhir/FhirJsonReaderTest.cs | 17 ++--- .../Test/Services/Fhir/FhirServiceTest.cs | 4 - .../Test/Services/Fhir/FhirXmlReaderTest.cs | 19 ++--- .../Services/HealthLevel7/MllpServiceTest.cs | 5 +- .../Scp/ApplicationEntityHandlerTest.cs | 24 ++---- .../Storage/ObjectUploadServiceTest.cs | 11 +-- 26 files changed, 80 insertions(+), 353 deletions(-) delete mode 100644 src/Configuration/TemporaryDataStorageLocation.cs diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index af584bb20..d0fcb4e3e 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -66,8 +66,6 @@ public enum PayloadState public bool HasTimedOut { get => ElapsedTime().TotalSeconds >= Timeout; } - public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } - public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } public string CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index fae88b73a..7e17289da 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.Runtime; using System.Text.Json.Serialization; using Ardalis.GuardClauses; @@ -124,27 +123,9 @@ public void SetUploaded(string bucketName) if (Data is not null && Data.CanSeek) { - if (Data is FileStream fileStream) - { - var filename = fileStream.Name; - Data.Close(); - Data.Dispose(); - Data = null; - System.IO.File.Delete(filename); - } - else // MemoryStream - { - Data.Close(); - Data.Dispose(); - Data = null; - - // When IG stores all received/downloaded data in-memory using MemoryStream, LOH grows tremendously and thus impacts the performance and - // memory usage. The following makes sure LOH is compacted after the data is uploaded. - GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; -#pragma warning disable S1215 // "GC.Collect" should not be called - GC.Collect(); -#pragma warning restore S1215 // "GC.Collect" should not be called - } + Data.Close(); + Data.Dispose(); + Data = null; } } diff --git a/src/Configuration/ConfigurationValidator.cs b/src/Configuration/ConfigurationValidator.cs index 86d7cb51d..bd8c18db2 100644 --- a/src/Configuration/ConfigurationValidator.cs +++ b/src/Configuration/ConfigurationValidator.cs @@ -17,8 +17,6 @@ using System; using System.Collections.Generic; -using System.IO; -using System.IO.Abstractions; using System.Text.RegularExpressions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -31,7 +29,6 @@ namespace Monai.Deploy.InformaticsGateway.Configuration public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfiguration> { private readonly ILogger<ConfigurationValidator> _logger; - private readonly IFileSystem _fileSystem; private readonly List<string> _validationErrors; /// <summary> @@ -39,10 +36,9 @@ public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfigu /// </summary> /// <param name="configuration">InformaticsGatewayConfiguration to be validated</param> /// <param name="logger">Logger to be used by ConfigurationValidator</param> - public ConfigurationValidator(ILogger<ConfigurationValidator> logger, IFileSystem fileSystem) + public ConfigurationValidator(ILogger<ConfigurationValidator> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _validationErrors = new List<string>(); } @@ -86,38 +82,6 @@ private bool IsStorageValid(StorageConfiguration storage) valid &= IsValueInRange("InformaticsGateway>storage>reserveSpaceGB", 1, 999, storage.ReserveSpaceGB); valid &= IsValueInRange("InformaticsGateway>storage>payloadProcessThreads", 1, 128, storage.PayloadProcessThreads); valid &= IsValueInRange("InformaticsGateway>storage>concurrentUploads", 1, 128, storage.ConcurrentUploads); - valid &= IsValueInRange("InformaticsGateway>storage>memoryThreshold", 1, int.MaxValue, storage.MemoryThreshold); - - if (storage.TemporaryDataStorage == TemporaryDataStorageLocation.Disk) - { - valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); - valid &= IsValidDirectory("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); - valid &= IsValueInRange("InformaticsGateway>storage>bufferSize", 1, int.MaxValue, storage.BufferSize); - } - - return valid; - } - - private bool IsValidDirectory(string source, string directory) - { - var valid = true; - try - { - if (!_fileSystem.Directory.Exists(directory)) - { - valid = false; - _validationErrors.Add($"Directory `{directory}` specified in `{source}` does not exist."); - } - else - { - using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); - } - } - catch (Exception ex) - { - valid = false; - _validationErrors.Add($"Directory `{directory}` specified in `{source}` is not accessible: {ex.Message}."); - } return valid; } diff --git a/src/Configuration/StorageConfiguration.cs b/src/Configuration/StorageConfiguration.cs index 871216522..8995e52c8 100644 --- a/src/Configuration/StorageConfiguration.cs +++ b/src/Configuration/StorageConfiguration.cs @@ -22,13 +22,6 @@ namespace Monai.Deploy.InformaticsGateway.Configuration { public class StorageConfiguration : StorageServiceConfiguration { - /// <summary> - /// Gets or sets whether to store temporary data in <c>Memory</c> or on <c>Disk</c>. - /// Defaults to <c>Memory</c>. - /// </summary> - [ConfigurationKeyName("tempStorageLocation")] - public TemporaryDataStorageLocation TemporaryDataStorage { get; set; } = TemporaryDataStorageLocation.Memory; - /// <summary> /// Gets or sets the path used for buffering incoming data. /// Defaults to <c>./temp</c>. @@ -36,14 +29,6 @@ public class StorageConfiguration : StorageServiceConfiguration [ConfigurationKeyName("bufferRootPath")] public string BufferStorageRootPath { get; set; } = "./temp"; - /// <summary> - /// Gets or sets the number of bytes buffered for reads and writes to the temporary file. - /// Defaults to <c>128000</c>. - /// </summary> - [ConfigurationKeyName("bufferSize")] - public int BufferSize { get; set; } = 128000; - - /// <summary> /// Gets or set the maximum memory buffer size in bytes with default to 30MiB. /// </summary> diff --git a/src/Configuration/TemporaryDataStorageLocation.cs b/src/Configuration/TemporaryDataStorageLocation.cs deleted file mode 100644 index 01fe8305d..000000000 --- a/src/Configuration/TemporaryDataStorageLocation.cs +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Monai.Deploy.InformaticsGateway.Configuration -{ - public enum TemporaryDataStorageLocation - { - Memory, - Disk - } -} diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index fa282b697..9c60a5c4b 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -15,8 +15,6 @@ */ using System; -using System.IO; -using System.IO.Abstractions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -28,19 +26,17 @@ namespace Monai.Deploy.InformaticsGateway.Configuration.Test public class ConfigurationValidatorTest { private readonly Mock<ILogger<ConfigurationValidator>> _logger; - private readonly Mock<IFileSystem> _fileSystem; public ConfigurationValidatorTest() { _logger = new Mock<ILogger<ConfigurationValidator>>(); - _fileSystem = new Mock<IFileSystem>(); } [Fact(DisplayName = "ConfigurationValidator test with all valid settings")] public void AllValid() { var config = MockValidConfiguration(); - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); Assert.True(valid == ValidateOptionsResult.Success); } @@ -50,7 +46,7 @@ public void InvalidScpPort() var config = MockValidConfiguration(); config.Dicom.Scp.Port = Int32.MaxValue; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = $"Invalid port number '{Int32.MaxValue}' specified for InformaticsGateway>dicom>scp>port."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -63,7 +59,7 @@ public void InvalidScpMaxAssociations() var config = MockValidConfiguration(); config.Dicom.Scp.MaximumNumberOfAssociations = 0; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = $"Value of InformaticsGateway>dicom>scp>max-associations must be between {1} and {1000}."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -76,7 +72,7 @@ public void StorageWithInvalidWatermark() var config = MockValidConfiguration(); config.Storage.Watermark = 1000; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>watermark must be between 1 and 100."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -89,7 +85,7 @@ public void StorageWithInvalidReservedSpace() var config = MockValidConfiguration(); config.Storage.ReserveSpaceGB = 9999; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>reserveSpaceGB must be between 1 and 999."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -102,7 +98,7 @@ public void StorageWithInvalidTemporaryBucketName() var config = MockValidConfiguration(); config.Storage.TemporaryStorageBucket = " "; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>temporaryBucketName is required.", "Value for InformaticsGateway>storage>temporaryBucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -118,7 +114,7 @@ public void StorageWithInvalidBucketName() var config = MockValidConfiguration(); config.Storage.StorageServiceBucketName = ""; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>bucketName is required.", "Value for InformaticsGateway>storage>bucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -128,26 +124,6 @@ public void StorageWithInvalidBucketName() } } - [Fact(DisplayName = "ConfigurationValidator test with inaccessible directory")] - public void StorageWithInaccessbleDirectory() - { - _fileSystem.Setup(p => p.Directory.Exists(It.IsAny<string>())).Returns(true); - _fileSystem.Setup(p => p.File.Create(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<FileOptions>())).Throws(new UnauthorizedAccessException("error")); - - var config = MockValidConfiguration(); - config.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Disk; - config.Storage.BufferStorageRootPath = "/blabla"; - - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); - - var validationMessages = new[] { $"Directory `/blabla` specified in `InformaticsGateway>storage>bufferRootPath` is not accessible: error." }; - Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); - foreach (var message in validationMessages) - { - _logger.VerifyLogging(message, LogLevel.Error, Times.Once()); - } - } - private static InformaticsGatewayConfiguration MockValidConfiguration() { var config = new InformaticsGatewayConfiguration(); diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/PayloadConfiguration.cs index b40c9e7c1..171b10ac1 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/PayloadConfiguration.cs @@ -57,7 +57,6 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.CalledAeTitle); builder.Ignore(j => j.CallingAeTitle); builder.Ignore(j => j.HasTimedOut); - builder.Ignore(j => j.Elapsed); builder.Ignore(j => j.Count); } } diff --git a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs index 27988b2fa..dabb80437 100644 --- a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs +++ b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs @@ -14,92 +14,41 @@ * limitations under the License. */ -using System.IO.Abstractions; +using System.IO; using System.Text; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom; using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Configuration; namespace Monai.Deploy.InformaticsGateway.Common { internal static class FileStorageMetadataExtensions { - public static async Task SetDataStreams( - this DicomFileStorageMetadata dicomFileStorageMetadata, - DicomFile dicomFile, - string dicomJson, - TemporaryDataStorageLocation storageLocation, - IFileSystem fileSystem = null, - string temporaryStoragePath = "") + public static async Task SetDataStreams(this DicomFileStorageMetadata dicomFileStorageMetadata, DicomFile dicomFile, string dicomJson) { Guard.Against.Null(dicomFile, nameof(dicomFile)); Guard.Against.Null(dicomJson, nameof(dicomJson)); // allow empty here - switch (storageLocation) - { - case TemporaryDataStorageLocation.Disk: - Guard.Against.Null(fileSystem, nameof(fileSystem)); - Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); - - var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{System.DateTime.UtcNow.Ticks}.tmp"); - dicomFileStorageMetadata.File.Data = fileSystem.File.Create(tempFile); - break; - default: - dicomFileStorageMetadata.File.Data = new System.IO.MemoryStream(); - break; - } - + dicomFileStorageMetadata.File.Data = new MemoryStream(); await dicomFile.SaveAsync(dicomFileStorageMetadata.File.Data).ConfigureAwait(false); - dicomFileStorageMetadata.File.Data.Seek(0, System.IO.SeekOrigin.Begin); + dicomFileStorageMetadata.File.Data.Seek(0, SeekOrigin.Begin); - await SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson, storageLocation, fileSystem, temporaryStoragePath); + SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson); } - public static async Task SetDataStream( - this FhirFileStorageMetadata fhirFileStorageMetadata, - string json, - TemporaryDataStorageLocation storageLocation, - IFileSystem fileSystem = null, - string temporaryStoragePath = "") - => await SetTextStream(fhirFileStorageMetadata.File, json, storageLocation, fileSystem, temporaryStoragePath); + public static void SetDataStream(this FhirFileStorageMetadata fhirFileStorageMetadata, string json) + => SetTextStream(fhirFileStorageMetadata.File, json); - public static async Task SetDataStream( - this Hl7FileStorageMetadata hl7FileStorageMetadata, - string message, - TemporaryDataStorageLocation storageLocation, - IFileSystem fileSystem = null, - string temporaryStoragePath = "") - => await SetTextStream(hl7FileStorageMetadata.File, message, storageLocation, fileSystem, temporaryStoragePath); + public static void SetDataStream(this Hl7FileStorageMetadata hl7FileStorageMetadata, string message) + => SetTextStream(hl7FileStorageMetadata.File, message); - private static async Task SetTextStream( - StorageObjectMetadata storageObjectMetadata, - string message, - TemporaryDataStorageLocation storageLocation, - IFileSystem fileSystem = null, - string temporaryStoragePath = "") + private static void SetTextStream(StorageObjectMetadata storageObjectMetadata, string message) { Guard.Against.Null(message, nameof(message)); // allow empty here - switch (storageLocation) - { - case TemporaryDataStorageLocation.Disk: - Guard.Against.Null(fileSystem, nameof(fileSystem)); - Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); - - var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{System.DateTime.UtcNow.Ticks}.tmp"); - var stream = fileSystem.File.Create(tempFile); - var data = Encoding.UTF8.GetBytes(message); - await stream.WriteAsync(data, 0, data.Length); - storageObjectMetadata.Data = stream; - break; - default: - storageObjectMetadata.Data = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(message)); - break; - } - - storageObjectMetadata.Data.Seek(0, System.IO.SeekOrigin.Begin); + storageObjectMetadata.Data = new MemoryStream(Encoding.UTF8.GetBytes(message)); + storageObjectMetadata.Data.Seek(0, SeekOrigin.Begin); } } } diff --git a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs index 5cb9aaa3f..588669efe 100644 --- a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs +++ b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs @@ -53,8 +53,8 @@ public static partial class Log [LoggerMessage(EventId = 711, Level = LogLevel.Information, Message = "Publishing workflow request message ID={messageId}...")] public static partial void PublishingWorkflowRequest(this ILogger logger, string messageId); - [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}. Payload took {payloadElapsedTime} to complete.")] - public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId, TimeSpan payloadElapsedTime); + [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}.")] + public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId); [LoggerMessage(EventId = 713, Level = LogLevel.Information, Message = "Restoring payloads from database.")] public static partial void StartupRestoreFromDatabase(this ILogger logger); diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index ada4e956f..ea39f5d0b 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; -using System.IO.Abstractions; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; @@ -56,7 +55,6 @@ internal class DataRetrievalService : IHostedService, IMonaiService, IDisposable private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; private readonly IDicomToolkit _dicomToolkit; - private readonly IFileSystem _fileSystem; private bool _disposedValue; public ServiceStatus Status { get; set; } @@ -79,7 +77,6 @@ public DataRetrievalService( _uploadQueue = _rootScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _rootScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _dicomToolkit = _rootScope.ServiceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); - _fileSystem = _rootScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public Task StartAsync(CancellationToken cancellationToken) @@ -333,7 +330,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fhirFile.SetDataStream(json); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -512,7 +509,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -542,7 +539,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 4a50c3fd7..c45c1cbc4 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -138,7 +138,7 @@ await _messageBrokerPublisherService.Publish( _options.Value.Messaging.Topics.WorkflowRequest, message.ToMessage()).ConfigureAwait(false); - _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId, payload.Elapsed); + _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId); } private async Task<PayloadAction> UpdatePayloadState(Payload payload) diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index c09943d4c..35cf29a15 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -44,7 +43,6 @@ internal interface IStreamsWriter internal class StreamsWriter : IStreamsWriter { private readonly ILogger<StreamsWriter> _logger; - private readonly IFileSystem _fileSystem; private readonly IObjectUploadQueue _uploadQueue; private readonly IDicomToolkit _dicomToolkit; private readonly IPayloadAssembler _payloadAssembler; @@ -58,15 +56,13 @@ public StreamsWriter( IDicomToolkit dicomToolkit, IPayloadAssembler payloadAssembler, IOptions<InformaticsGatewayConfiguration> configuration, - ILogger<StreamsWriter> logger, - IFileSystem fileSystem) + ILogger<StreamsWriter> logger) { _uploadQueue = fileStore ?? throw new ArgumentNullException(nameof(fileStore)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _payloadAssembler = payloadAssembler ?? throw new ArgumentNullException(nameof(payloadAssembler)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _resultDicomDataset = new DicomDataset(); _failureCount = 0; _storedCount = 0; @@ -169,7 +165,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index 2f56dffb5..9b8ab8b99 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text.Json; using System.Text.Json.Nodes; using System.Threading; @@ -24,11 +23,9 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -36,14 +33,10 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirJsonReader : IFHirRequestReader { private readonly ILogger<FhirJsonReader> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; - public FhirJsonReader(ILogger<FhirJsonReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) + public FhirJsonReader(ILogger<FhirJsonReader> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -75,7 +68,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fileMetadata.SetDataStream(result.RawData); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs index f66dbc830..59c3b8cf0 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirService.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -15,7 +15,6 @@ */ using System; -using System.IO.Abstractions; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -42,7 +41,6 @@ internal class FhirService : IFhirService private readonly ILogger<FhirService> _logger; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - private readonly IFileSystem _fileSystem; public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<InformaticsGatewayConfiguration> configuration) { @@ -53,7 +51,6 @@ public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic _logger = scope.ServiceProvider.GetService<ILogger<FhirService>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirService>)); _payloadAssembler = scope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); - _fileSystem = scope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) @@ -103,13 +100,13 @@ private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeader if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirJsonReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirJsonReader>)); - return new FhirJsonReader(logger, _configuration, _fileSystem); + return new FhirJsonReader(logger); } if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirXmlReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirXmlReader>)); - return new FhirXmlReader(logger, _configuration, _fileSystem); + return new FhirXmlReader(logger); } throw new UnsupportedContentTypeException($"Media type of '{mediaTypeHeaderValue.MediaType}' is not supported."); diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index 2d975db8a..07610c6b2 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -24,11 +23,9 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -36,14 +33,10 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirXmlReader : IFHirRequestReader { private readonly ILogger<FhirXmlReader> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; - public FhirXmlReader(ILogger<FhirXmlReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) + public FhirXmlReader(ILogger<FhirXmlReader> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -87,7 +80,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.InternalResourceType = rootNode.Name; var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fileMetadata.SetDataStream(result.RawData); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index ba657f8b2..3ba770ffd 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; -using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -44,7 +43,6 @@ internal sealed class MllpService : IHostedService, IDisposable, IMonaiService private readonly IMllpClientFactory _mllpClientFactory; private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; - private readonly IFileSystem _fileSystem; private readonly IServiceScope _serviceScope; private readonly ILoggerFactory _logginFactory; private readonly ILogger<MllpService> _logger; @@ -81,7 +79,6 @@ public MllpService(IServiceScopeFactory serviceScopeFactory, _mllpClientFactory = _serviceScope.ServiceProvider.GetService<IMllpClientFactory>() ?? throw new ServiceNotFoundException(nameof(IMllpClientFactory)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); - _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); _activeTasks = new ConcurrentDictionary<Guid, IMllpClient>(); } @@ -161,7 +158,7 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath); + hl7Fileetadata.SetDataStream(message.HL7Message); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index a856c09fd..46bec278e 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -15,14 +15,12 @@ */ using System; -using System.IO.Abstractions; using System.Linq; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; @@ -36,12 +34,11 @@ namespace Monai.Deploy.InformaticsGateway.Services.Scp internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler { private readonly ILogger<ApplicationEntityHandler> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly IServiceScope _serviceScope; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - private readonly IFileSystem _fileSystem; + private MonaiApplicationEntity _configuration; private DicomJsonOptions _dicomJsonOptions; private bool _validateDicomValueOnJsonSerialization; @@ -49,17 +46,14 @@ internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler public ApplicationEntityHandler( IServiceScopeFactory serviceScopeFactory, - ILogger<ApplicationEntityHandler> logger, - IOptions<InformaticsGatewayConfiguration> options) + ILogger<ApplicationEntityHandler> logger) { Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); _serviceScope = serviceScopeFactory.CreateScope(); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); - _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) @@ -101,7 +95,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index a572279f4..3f389a152 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions.TestingHelpers; using System.Text; using System.Threading.Tasks; using FellowOakDicom; @@ -32,7 +31,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Common public class DicomFileStorageMetadataExtensionsTest { [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithInMemoryStore_ExpectDataStreamsAreSet() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_ExpectDataStreamsAreSet() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -43,7 +42,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithI var dicom = InstanceGenerator.GenerateDicomFile(); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); @@ -60,38 +59,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithI } [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithDiskStore_ExpectDataStreamsAreSet() - { - var fileSystem = new MockFileSystem(); - fileSystem.AddDirectory("/temp"); - - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - var dicom = InstanceGenerator.GenerateDicomFile(); - var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Disk, fileSystem, "/temp").ConfigureAwait(false); - - Assert.NotNull(metadata.File.Data); - Assert.NotNull(metadata.JsonFile.Data); - - var ms = new MemoryStream(); - await dicom.SaveAsync(ms).ConfigureAwait(false); - Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); - - var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); - Assert.Equal(json.Trim(), jsonFromStream.Trim()); - - var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); - Assert.Equal(dicom.Dataset, dicomFileFromJson); - } - - [Fact] - public void GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() + public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -126,7 +94,7 @@ public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataSt dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234392234", "0.2354257587243524352345"); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index 8b1751733..bb2f0fc69 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; @@ -55,7 +54,6 @@ public class DataRetrievalServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IDicomToolkit> _dicomToolkit; - private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IInferenceRequestRepository> _inferenceRequestStore; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; @@ -76,7 +74,6 @@ public DataRetrievalServiceTest() _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _uploadQueue = new Mock<IObjectUploadQueue>(); _dicomToolkit = new Mock<IDicomToolkit>(); - _fileSystem = new Mock<IFileSystem>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _serviceScope = new Mock<IServiceScope>(); @@ -93,7 +90,6 @@ public DataRetrievalServiceTest() services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _dicomToolkit.Object); services.AddScoped(p => _inferenceRequestStore.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); diff --git a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs index 451d0633d..c6295fc2f 100644 --- a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs +++ b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions.TestingHelpers; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -39,7 +38,6 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.DicomWeb public class StreamsWriterTest { private readonly Mock<ILogger<StreamsWriter>> _logger; - private readonly MockFileSystem _fileSystem; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IPayloadAssembler> _payloadAssembler; @@ -52,19 +50,17 @@ public StreamsWriterTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _configuration = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<StreamsWriter>>(); - _fileSystem = new MockFileSystem(); } [Fact] public void GivenAStreamsWriter_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, null)); - var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null)); + var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object)); Assert.Null(exception); } @@ -76,7 +72,7 @@ public async Task GivenAHttpStream_WhenFailedToOpenAsDicomInstance_ExpectStatus4 .Throws(new Exception("error")); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var streams = GenerateDicomStreams(studyInstanceUid); var result = await writer.Save( @@ -98,7 +94,7 @@ public async Task GivingADicomInstanceWithoutAMatchingStudyInstanceUid_WhenSavei _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); @@ -136,7 +132,7 @@ public async Task GivingAValidDicomInstance_WhenSaveingInstance_ExpectInstanceTo _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs index 7444f4177..d224f7a05 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirJsonReaderTest.cs @@ -16,14 +16,11 @@ using System; using System.IO; -using System.IO.Abstractions; -using System.IO.Abstractions.TestingHelpers; using System.Text.Json; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Fhir; @@ -34,15 +31,13 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir { public class FhirJsonReaderTest { + private readonly InformaticsGatewayConfiguration _config; private readonly Mock<ILogger<FhirJsonReader>> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; public FhirJsonReaderTest() { + _config = new InformaticsGatewayConfiguration(); _logger = new Mock<ILogger<FhirJsonReader>>(); - _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); - _fileSystem = new MockFileSystem(); } [Fact] @@ -51,7 +46,7 @@ public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() var request = new Mock<HttpRequest>(); var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; - var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); + var reader = new FhirJsonReader(_logger.Object); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); @@ -67,7 +62,7 @@ public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); + var reader = new FhirJsonReader(_logger.Object); await Assert.ThrowsAsync<ArgumentNullException>(async () => { @@ -88,7 +83,7 @@ public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); + var reader = new FhirJsonReader(_logger.Object); await Assert.ThrowsAnyAsync<JsonException>(async () => { @@ -111,7 +106,7 @@ public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(strin var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirJson); - var reader = new FhirJsonReader(_logger.Object, _options, _fileSystem); + var reader = new FhirJsonReader(_logger.Object); var data = System.Text.Encoding.UTF8.GetBytes(xml); using var stream = new System.IO.MemoryStream(); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index 422fe6bdf..ccb22751e 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -44,7 +43,6 @@ public class FhirServiceTest private readonly Mock<ILogger<FhirService>> _logger; private readonly Mock<ILogger<FhirJsonReader>> _loggerJson; private readonly Mock<ILogger<FhirXmlReader>> _loggerXml; - private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; @@ -64,7 +62,6 @@ public FhirServiceTest() _logger = new Mock<ILogger<FhirService>>(); _loggerJson = new Mock<ILogger<FhirJsonReader>>(); _loggerXml = new Mock<ILogger<FhirXmlReader>>(); - _fileSystem = new Mock<IFileSystem>(); _httpRequest = new Mock<HttpRequest>(); @@ -76,7 +73,6 @@ public FhirServiceTest() services.AddScoped(p => _loggerXml.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs index 606026b73..1475e954a 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirXmlReaderTest.cs @@ -16,16 +16,12 @@ using System; using System.IO; -using System.IO.Abstractions; -using System.IO.Abstractions.TestingHelpers; using System.Threading; using System.Threading.Tasks; using System.Xml; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Fhir; using Moq; using Xunit; @@ -35,15 +31,10 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Fhir public class FhirXmlReaderTest { private readonly Mock<ILogger<FhirXmlReader>> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; public FhirXmlReaderTest() { _logger = new Mock<ILogger<FhirXmlReader>>(); - _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); - _fileSystem = new MockFileSystem(); - } [Fact] @@ -52,7 +43,7 @@ public async Task GetContentAsync_WhenCalled_EnsuresArgumentsAreValid() var request = new Mock<HttpRequest>(); var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; - var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); + var reader = new FhirXmlReader(_logger.Object); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(null, null, null, null, CancellationToken.None)); await Assert.ThrowsAsync<ArgumentNullException>(async () => await reader.GetContentAsync(request.Object, null, null, null, CancellationToken.None)); @@ -68,7 +59,7 @@ public async Task GetContentAsync_WhenCalledWithEmptyContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); + var reader = new FhirXmlReader(_logger.Object); await Assert.ThrowsAsync<ArgumentNullException>(async () => { @@ -89,7 +80,7 @@ public async Task GetContentAsync_WhenCalledWithNonXmlContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); + var reader = new FhirXmlReader(_logger.Object); await Assert.ThrowsAsync<XmlException>(async () => { @@ -109,7 +100,7 @@ public async Task GetContentAsync_WhenCalledWithNonFhirContent_ThrowsException() var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); + var reader = new FhirXmlReader(_logger.Object); await Assert.ThrowsAsync<FhirStoreException>(async () => { @@ -132,7 +123,7 @@ public async Task GetContentAsync_WhenCalledWithNoId_ReturnsOriginalWithId(strin var correlationId = Guid.NewGuid().ToString(); var resourceType = "Patient"; var contentType = new MediaTypeHeaderValue(ContentTypes.ApplicationFhirXml); - var reader = new FhirXmlReader(_logger.Object, _options, _fileSystem); + var reader = new FhirXmlReader(_logger.Object); var data = System.Text.Encoding.UTF8.GetBytes(xml); using var stream = new System.IO.MemoryStream(); diff --git a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs index 61a2dc23b..d4f374425 100644 --- a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs @@ -16,7 +16,6 @@ using System; using System.Collections.Generic; -using System.IO.Abstractions; using System.Net; using System.Threading; using System.Threading.Tasks; @@ -48,7 +47,7 @@ public class MllpServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<ITcpListener> _tcpListener; - private readonly Mock<IFileSystem> _fileSystem; + private readonly CancellationTokenSource _cancellationTokenSource; private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<ILogger<MllpService>> _logger; @@ -65,7 +64,6 @@ public MllpServiceTest() _uploadQueue = new Mock<IObjectUploadQueue>(); _payloadAssembler = new Mock<IPayloadAssembler>(); _tcpListener = new Mock<ITcpListener>(); - _fileSystem = new Mock<IFileSystem>(); _cancellationTokenSource = new CancellationTokenSource(); _serviceScope = new Mock<IServiceScope>(); @@ -79,7 +77,6 @@ public MllpServiceTest() services.AddScoped(p => _mllpClientFactory.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs index d81eb7528..0d7cad791 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs @@ -16,17 +16,14 @@ using System; using System.Collections.Generic; -using System.IO.Abstractions; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.Services.Scp; using Monai.Deploy.InformaticsGateway.Services.Storage; @@ -44,8 +41,7 @@ public class ApplicationEntityHandlerTest private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly Mock<IFileSystem> _fileSystem; + private readonly IServiceProvider _serviceProvider; public ApplicationEntityHandlerTest() @@ -56,13 +52,10 @@ public ApplicationEntityHandlerTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _uploadQueue = new Mock<IObjectUploadQueue>(); - _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); - _fileSystem = new Mock<IFileSystem>(); var services = new ServiceCollection(); services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _uploadQueue.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); @@ -73,11 +66,10 @@ public ApplicationEntityHandlerTest() [RetryFact(5, 250)] public void GivenAApplicationEntityHandler_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(null, null, null)); - Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, null, null)); - Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, null)); + Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(null, null)); + Assert.Throws<ArgumentNullException>(() => new ApplicationEntityHandler(_serviceScopeFactory.Object, null)); - _ = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); + _ = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); } [RetryFact(5, 250)] @@ -91,7 +83,7 @@ public async Task GivenAApplicationEntityHandler_WhenHandleInstanceAsyncIsCalled IgnoredSopClasses = new List<string> { DicomUID.SecondaryCaptureImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); var request = GenerateRequest(); var dicomToolkit = new DicomToolkit(); @@ -111,7 +103,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsInTheIgnoreList_ExpectIns IgnoredSopClasses = new List<string> { DicomUID.SecondaryCaptureImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); @@ -135,7 +127,7 @@ public async Task GivenACStoreRequest_WhenTheSopClassIsNotInTheAllowedList_Expec AllowedSopClasses = new List<string> { DicomUID.UltrasoundImageStorage.UID } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); @@ -158,7 +150,7 @@ public async Task GivenACStoreRequest_WhenHandleInstanceAsyncIsCalled_ExpectADic Workflows = new List<string>() { "AppA", "AppB", Guid.NewGuid().ToString() } }; - var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object, _options); + var handler = new ApplicationEntityHandler(_serviceScopeFactory.Object, _logger.Object); handler.Configure(aet, Configuration.DicomJsonOptions.Complete, true); var request = GenerateRequest(); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index d844eaec8..5a7e445c3 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -45,6 +45,7 @@ public class ObjectUploadServiceTest private readonly IObjectUploadQueue _uploadQueue; private readonly Mock<IStorageService> _storageService; private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; + private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; @@ -123,7 +124,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi } [Fact] - public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() + public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); _storageService.Setup(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>())) @@ -136,7 +137,7 @@ public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingle Assert.Equal(ServiceStatus.Running, svc.Status); - var file = await GenerateFhirFileStorageMetadata(); + var file = GenerateFhirFileStorageMetadata(); _uploadQueue.Queue(file); Assert.True(countdownEvent.Wait(TimeSpan.FromSeconds(3))); @@ -144,11 +145,11 @@ public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingle _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Once()); } - private async Task<FhirFileStorageMetadata> GenerateFhirFileStorageMetadata() + private FhirFileStorageMetadata GenerateFhirFileStorageMetadata() { var file = new FhirFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), FhirStorageFormat.Json); - await file.SetDataStream("[]", TemporaryDataStorageLocation.Memory); + file.SetDataStream("[]"); return file; } @@ -168,7 +169,7 @@ private async Task<DicomFileStorageMetadata> GenerateDicomFileStorageMetadata() { DicomTag.SOPClassUID, DicomUID.SecondaryCaptureImageStorage.UID } }; var dicomFile = new DicomFile(dataset); - await file.SetDataStreams(dicomFile, "[]", TemporaryDataStorageLocation.Memory); + await file.SetDataStreams(dicomFile, "[]"); return file; } } From 22c11e2866011d90e27eeabed3994bacb3ea1b50 Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Mon, 26 Sep 2022 17:12:04 +0100 Subject: [PATCH 032/101] rebased changes Signed-off-by: Neil South <neil.south@answerdigital.com> --- .../Monai.Deploy.InformaticsGateway.csproj | 7 +++- src/InformaticsGateway/Program.cs | 19 ++++++++++ src/InformaticsGateway/appsettings.json | 37 +++++++++++-------- 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 5097878b7..e95e1c315 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -51,7 +51,12 @@ <PackageReference Include="Monai.Deploy.Storage" Version="0.2.5" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.5" /> <PackageReference Include="Polly" Version="7.2.3" /> + <PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" /> + <PackageReference Include="Serilog.Exceptions" Version="8.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> + <PackageReference Include="Serilog.AspNetCore" Version="6.0.1" /> + <PackageReference Include="Serilog.Sinks.Http" Version="8.0.0" /> + <PackageReference Include="Elastic.CommonSchema.Serilog" Version="1.5.3" /> </ItemGroup> <ItemGroup> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 84f7594c8..133eaa102 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -17,7 +17,9 @@ using System; using System.IO; using System.IO.Abstractions; +using System.Reflection; using Ardalis.GuardClauses; +using Elastic.CommonSchema.Serilog; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -43,6 +45,9 @@ using Monai.Deploy.Messaging.Configuration; using Monai.Deploy.Storage; using Monai.Deploy.Storage.Configuration; +using Serilog; +using Serilog.Events; +using Serilog.Exceptions; namespace Monai.Deploy.InformaticsGateway { @@ -87,6 +92,20 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => configureLogging.AddConfiguration(builderContext.Configuration.GetSection("Logging")); configureLogging.AddFile(o => o.RootPath = AppContext.BaseDirectory); }) + .UseSerilog((context, services, configuration) => configuration + .ReadFrom.Configuration(context.Configuration) + .ReadFrom.Services(services) + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .MinimumLevel.Debug() + .Enrich.FromLogContext() + .Enrich.WithExceptionDetails() + .Enrich.WithProperty("dllversion", Assembly.GetEntryAssembly().GetName().Version) + .Enrich.WithProperty("dllName", Assembly.GetEntryAssembly().GetName().Name) + .WriteTo.File( + path: "logs/MWM-.log", + rollingInterval: RollingInterval.Day, + formatter: new EcsTextFormatter()) + .WriteTo.Console()) .ConfigureServices((hostContext, services) => { services.AddOptions<InformaticsGatewayConfiguration>() diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 78bdfd272..7994f64b7 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -81,23 +81,30 @@ "TimestampFormat": " HH:mm:ss ", "UseUtcTimestamp": true } - }, - "File": { - "BasePath": "logs", - "FileEncodingName": "utf-8", - "DateFormat": "yyyyMMdd", - "CounterFormat": "000", - "MaxFileSize": 10485760, - "IncludeScopes": true, - "MaxQueueSize": 100, - "TextBuilderType": "Monai.Deploy.InformaticsGateway.Logging.FileLoggingTextFormatter, Monai.Deploy.InformaticsGateway", - "Files": [ - { - "Path": "MIG-<date>-<counter>.log" - } - ] } }, + "Serilog": { + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "logs/MTM-.log", + "rollingInterval": "Day", + "rollOnFileSizeLimit": true, + "fileSizeLimitBytes": "10485760", + "retainedFileCountLimit": 30, + "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" + } + }, + { + "Name": "Http", + "Args": { + //"requestUri": "http://192.168.0.62:5000", + "queueLimitBytes": null + } + } + ] + }, "Kestrel": { "EndPoints": { "Http": { From 6f51c5d9cdbfc51a3d4a0f9c65cf13ad76e28551 Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Mon, 26 Sep 2022 17:47:47 +0100 Subject: [PATCH 033/101] update to docs Signed-off-by: Neil South <neil.south@answerdigital.com> --- docs/setup/schema.md | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/docs/setup/schema.md b/docs/setup/schema.md index 74d39c59a..0b2ce740c 100644 --- a/docs/setup/schema.md +++ b/docs/setup/schema.md @@ -139,23 +139,30 @@ The `InformaticsGateway` configuration section contains the following sub-sectio "TimestampFormat": " HH:mm:ss ", "UseUtcTimestamp": true } - }, - "File": { - "BasePath": "logs", - "FileEncodingName": "utf-8", - "DateFormat": "yyyyMMdd", - "CounterFormat": "000", - "MaxFileSize": 10485760, - "IncludeScopes": true, - "MaxQueueSize": 100, - "TextBuilderType": "Monai.Deploy.InformaticsGateway.Logging.FileLoggingTextFormatter, Monai.Deploy.InformaticsGateway", - "Files": [ - { - "Path": "MIG-<date>-<counter>.log" - } - ] } }, + "Serilog": { + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "logs/MTM-.log", + "rollingInterval": "Day", + "rollOnFileSizeLimit": true, + "fileSizeLimitBytes": "10485760", + "retainedFileCountLimit": 30, + "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" + } + }, + { + "Name": "Http", + "Args": { + //"requestUri": "http://192.168.0.62:5000", + "queueLimitBytes": null + } + } + ] + }, "Kestrel": { "EndPoints": { "Http": { @@ -186,7 +193,7 @@ Informatics Gateway validates all configuration options at startup. Any provided ### Logging -Informatics Gateway, by default, is configured to writes all logs to the console as well as text files. The behaviors may be changed in the `Logging` section of the `appsettings.json` file. +Informatics Gateway, by default, is configured to writes all logs to the console as well as text files. The behaviors may be changed in the `Logging` section of the `appsettings.json` file, by uncommenting the `"requestUri": "http://192.168.0.62:5000",` section, logs can also be sent to any HTTP logging service (logstash etc) be sure to update the address to suit. > [!Note] > If the Informatics Gateway is running inside a Docker container, additional configuration may be required to limit the size to prevent filling up storage space. Refer to the [Docker documentation](https://docs.docker.com/config/containers/logging/configure/) for additional information. From 29f5257d50443e9482dadaeeeb731d2d33e49cb9 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 26 Sep 2022 10:03:17 -0700 Subject: [PATCH 034/101] Update ci.yml Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0156fea9c..d8dcccab7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,9 +81,10 @@ jobs: dotnet-version: "6.0.x" - name: Install License Finder tool with Homebrew - uses: tecoli-com/actions-use-homebrew-tools@v0 + uses: tecoli-com/actions-use-homebrew-tools@v0.4 with: tools: licensefinder + cache: yes - name: Enable NuGet cache uses: actions/cache@v3.0.8 From 3c45ab18b028408fe4749e00aaf407e086b511dc Mon Sep 17 00:00:00 2001 From: Victor Chang <vicchang@nvidia.com> Date: Mon, 26 Sep 2022 10:23:07 -0700 Subject: [PATCH 035/101] Enable homebrew Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8dcccab7..4622f0016 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,9 @@ jobs: with: dotnet-version: "6.0.x" + - name: Enable Homebrew + run: echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH + - name: Install License Finder tool with Homebrew uses: tecoli-com/actions-use-homebrew-tools@v0.4 with: From 26d8fb5b011ce7fa0f4f6318407894ce22e888f2 Mon Sep 17 00:00:00 2001 From: Victor Chang <vicchang@nvidia.com> Date: Mon, 26 Sep 2022 11:36:58 -0700 Subject: [PATCH 036/101] Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 127 +- docs/compliance/third-party-licenses.md | 5406 ++++++++++++++++++----- 2 files changed, 4437 insertions(+), 1096 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 1fe363ead..7d3caeeb2 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -1,17 +1,3 @@ -# Copyright 2022 MONAI Consortium -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - --- - - :approve - AWSSDK.Core @@ -1737,7 +1723,6 @@ :versions: - 4.7.2 :when: 2022-08-16 23:07:19.845361666 Z - - - :approve - System.Text.Json - :who: mocsharp @@ -2412,3 +2397,115 @@ :versions: - 4.0.1 :when: 2022-08-16 23:10:21.184627612 Z +- - :approve + - Elastic.CommonSchema + - :who: mocsharp + :why: Apache-2.0 (https://github.com/elastic/ecs-dotnet/raw/main/license.txt) + :versions: + - 1.5.3 + :when: 2022-09-26 18:29:50.654439712 Z +- - :approve + - Elastic.CommonSchema.Serilog + - :who: mocsharp + :why: Apache-2.0 (https://github.com/elastic/ecs-dotnet/raw/main/license.txt) + :versions: + - 1.5.3 + :when: 2022-09-26 18:29:59.990264830 Z +- - :approve + - Microsoft.AspNetCore.Http.Abstractions + - :who: mocsharp + :why: Apache-2.0 (https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) + :versions: + - 2.1.0 + :when: 2022-09-26 18:30:00.405665184 Z +- - :approve + - Microsoft.AspNetCore.Http.Features + - :who: mocsharp + :why: Apache-2.0 (https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) + :versions: + - 2.1.0 + :when: 2022-09-26 18:30:00.827006102 Z +- - :approve + - Serilog + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog/raw/dev/LICENSE) + :versions: + - 2.10.0 + :when: 2022-09-26 18:30:01.242998511 Z +- - :approve + - Serilog.AspNetCore + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-aspnetcore/raw/dev/LICENSE) + :versions: + - 6.0.1 + :when: 2022-09-26 18:30:01.663125038 Z +- - :approve + - Serilog.Enrichers.Environment + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-enrichers-environment/raw/dev/LICENSE) + :versions: + - 2.2.0 + :when: 2022-09-26 18:30:02.076533901 Z +- - :approve + - Serilog.Extensions.Hosting + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-extensions-hosting/raw/dev/LICENSE) + :versions: + - 5.0.1 + :when: 2022-09-26 18:30:02.569381682 Z +- - :approve + - Serilog.Extensions.Logging + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-extensions-logging/raw/dev/LICENSE) + :versions: + - 3.1.0 + :when: 2022-09-26 18:30:02.982683332 Z +- - :approve + - Serilog.Formatting.Compact + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-formatting-compact/raw/dev/LICENSE) + :versions: + - 1.1.0 + :when: 2022-09-26 18:30:03.396195306 Z +- - :approve + - Serilog.Settings.Configuration + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-settings-configuration/raw/dev/LICENSE) + :versions: + - 3.3.0 + :when: 2022-09-26 18:30:03.838006674 Z +- - :approve + - Serilog.Sinks.Console + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-sinks-console/raw/dev/LICENSE) + :versions: + - 4.0.1 + :when: 2022-09-26 18:30:04.251848907 Z +- - :approve + - Serilog.Sinks.Debug + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-sinks-debug/raw/dev/LICENSE) + :versions: + - 2.0.0 + :when: 2022-09-26 18:30:04.658319166 Z +- - :approve + - Serilog.Sinks.File + - :who: mocsharp + :why: Apache-2.0 (https://github.com/serilog/serilog-sinks-file/raw/dev/LICENSE) + :versions: + - 5.0.0 + :when: 2022-09-26 18:30:05.069989294 Z +- - :approve + - Serilog.Sinks.Http + - :who: mocsharp + :why: Apache-2.0 (https://github.com/FantasticFiasco/serilog-sinks-http/raw/master/LICENSE) + :versions: + - 8.0.0 + :when: 2022-09-26 18:30:05.478170143 Z +- - :approve + - System.Reflection.TypeExtensions + - :who: mocsharp + :why: MIT (https://licenses.nuget.org/MIT) + :versions: + - 4.7.0 + :when: 2022-09-26 18:30:05.908551223 Z diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index ab8744fbc..5730c2a6c 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -902,450 +902,626 @@ SOFTWARE. <details> -<summary>FluentAssertions 6.7.0</summary> +<summary>Elastic.CommonSchema 1.5.3</summary> -## FluentAssertions +## Elastic.CommonSchema -- Version: 6.7.0 -- Authors: Dennis Doomen,Jonas Nyrup -- Project URL: https://www.fluentassertions.com/ -- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.7.0) -- License: [Apache-2.0](https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) +- Version: 1.5.3 +- Authors: Elastic and contributors +- Owners: Elastic and contributors +- Project URL: https://github.com/elastic/ecs-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Elastic.CommonSchema/1.5.3) +- License: [Apache-2.0](https://github.com/elastic/ecs-dotnet/raw/main/license.txt) ``` Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ + Version 2.0, January 2004 + http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. + 1. Definitions. -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -2. Grant of Copyright License. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -3. Grant of Patent License. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -4. Redistribution. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -5. Submission of Contributions. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -6. Trademarks. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -7. Disclaimer of Warranty. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use thes + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright [2010-2021] [Dennis Doomen] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. ``` </details> <details> -<summary>Gherkin 19.0.3</summary> +<summary>Elastic.CommonSchema.Serilog 1.5.3</summary> -## Gherkin +## Elastic.CommonSchema.Serilog -- Version: 19.0.3 -- Authors: Cucumber Ltd, Gaspar Nagy -- Project URL: https://github.com/cucumber/common/tree/main/gherkin -- Source: [NuGet](https://www.nuget.org/packages/Gherkin/19.0.3) -- License: [MIT](https://github.com/cucumber/common/raw/main/LICENSE) +- Version: 1.5.3 +- Authors: Elastic and contributors +- Owners: Elastic and contributors +- Project URL: https://github.com/elastic/ecs-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Elastic.CommonSchema.Serilog/1.5.3) +- License: [Apache-2.0](https://github.com/elastic/ecs-dotnet/raw/main/license.txt) ``` -The MIT License (MIT) +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) Cucumber Ltd + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Definitions. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -</details> + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -<details> -<summary>GitVersion.MsBuild 5.10.3</summary> + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -## GitVersion.MsBuild + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -- Version: 5.10.3 -- Authors: GitTools and Contributors -- Project URL: https://github.com/GitTools/GitVersion -- Source: [NuGet](https://www.nuget.org/packages/GitVersion.MsBuild/5.10.3) -- License: [MIT](https://github.com/GitTools/GitVersion/raw/main/LICENSE) + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -``` -The MIT License (MIT) + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Copyright (c) 2021 NServiceBus Ltd, GitTools and contributors. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -</details> + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -<details> -<summary>HL7-dotnetcore 2.29.0</summary> + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -## HL7-dotnetcore + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -- Version: 2.29.0 -- Authors: HL7-dotnetcore -- Project URL: https://github.com/Efferent-Health/HL7-dotnetcore -- Source: [NuGet](https://www.nuget.org/packages/HL7-dotnetcore/2.29.0) -- License: [MIT](https://github.com/Efferent-Health/HL7-dotnetcore/raw/master/LICENSE.txt) + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -``` -The MIT License (MIT) + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright (c) 2013 Jayant Singh - www.j4jayant.com -Copyright (c) 2021 Efferent Health, LLC + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use thes + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. ``` </details> <details> -<summary>Humanizer.Core 2.8.26</summary> +<summary>FluentAssertions 6.7.0</summary> -## Humanizer.Core +## FluentAssertions -- Version: 2.8.26 -- Authors: Mehdi Khalili, Claire Novotny -- Owners: Mehdi Khalili, Claire Novotny -- Project URL: https://github.com/Humanizr/Humanizer -- Source: [NuGet](https://www.nuget.org/packages/Humanizer.Core/2.8.26) -- License: [MIT](https://github.com/Humanizr/Humanizer/raw/main/LICENSE) +- Version: 6.7.0 +- Authors: Dennis Doomen,Jonas Nyrup +- Project URL: https://www.fluentassertions.com/ +- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.7.0) +- License: [Apache-2.0](https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) ``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +1. Definitions. -============================================================================== +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. -Inflector (https://github.com/srkirkland/Inflector) -The MIT License (MIT) -Copyright (c) 2013 Scott Kirkland +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. -============================================================================== +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. -ByteSize (https://github.com/omar/ByteSize) -The MIT License (MIT) -Copyright (c) 2013-2014 Omar Khudeira (http://omar.io) +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. -============================================================================== -``` +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. -</details> +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). -<details> -<summary>JetBrains.Annotations 2021.3.0</summary> +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. -## JetBrains.Annotations +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." -- Version: 2021.3.0 -- Authors: JetBrains -- Owners: JetBrains -- Project URL: https://www.jetbrains.com/help/resharper/Code_Analysis__Code_Annotations.html -- Source: [NuGet](https://www.nuget.org/packages/JetBrains.Annotations/2021.3.0) -- License: [MIT](https://github.com/JetBrains/JetBrains.Annotations/raw/main/license.md) +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. +2. Grant of Copyright License. -``` -MIT License +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. -Copyright (c) 2016 JetBrains http://www.jetbrains.com +3. Grant of Patent License. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +4. Redistribution. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: -</details> +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. +5. Submission of Contributions. -<details> -<summary>Karambolo.Extensions.Logging.File 3.3.1</summary> +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. -## Karambolo.Extensions.Logging.File +6. Trademarks. -- Version: 3.3.1 -- Authors: Adam Simon -- Project URL: https://github.com/adams85/filelogger -- Source: [NuGet](https://www.nuget.org/packages/Karambolo.Extensions.Logging.File/3.3.1) -- License: [MIT](https://github.com/adams85/filelogger/raw/master/LICENSE) +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. +7. Disclaimer of Warranty. -``` -MIT License +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. -Copyright (c) 2022 Adam Simon +8. Limitation of Liability. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [2010-2021] [Dennis Doomen] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>Gherkin 19.0.3</summary> + +## Gherkin + +- Version: 19.0.3 +- Authors: Cucumber Ltd, Gaspar Nagy +- Project URL: https://github.com/cucumber/common/tree/main/gherkin +- Source: [NuGet](https://www.nuget.org/packages/Gherkin/19.0.3) +- License: [MIT](https://github.com/cucumber/common/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Cucumber Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, @@ -1360,21 +1536,153 @@ SOFTWARE. <details> -<summary>Macross.Json.Extensions 3.0.0</summary> +<summary>GitVersion.MsBuild 5.10.3</summary> -## Macross.Json.Extensions +## GitVersion.MsBuild -- Version: 3.0.0 -- Authors: Macross.Json.Extensions -- Project URL: https://github.com/Macross-Software/core/tree/develop/ClassLibraries/Macross.Json.Extensions -- Source: [NuGet](https://www.nuget.org/packages/Macross.Json.Extensions/3.0.0) -- License: [MIT](https://github.com/Macross-Software/core/raw/develop/LICENSE.txt) +- Version: 5.10.3 +- Authors: GitTools and Contributors +- Project URL: https://github.com/GitTools/GitVersion +- Source: [NuGet](https://www.nuget.org/packages/GitVersion.MsBuild/5.10.3) +- License: [MIT](https://github.com/GitTools/GitVersion/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) 2021 NServiceBus Ltd, GitTools and contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>HL7-dotnetcore 2.29.0</summary> + +## HL7-dotnetcore + +- Version: 2.29.0 +- Authors: HL7-dotnetcore +- Project URL: https://github.com/Efferent-Health/HL7-dotnetcore +- Source: [NuGet](https://www.nuget.org/packages/HL7-dotnetcore/2.29.0) +- License: [MIT](https://github.com/Efferent-Health/HL7-dotnetcore/raw/master/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) 2013 Jayant Singh - www.j4jayant.com +Copyright (c) 2021 Efferent Health, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>Humanizer.Core 2.8.26</summary> + +## Humanizer.Core + +- Version: 2.8.26 +- Authors: Mehdi Khalili, Claire Novotny +- Owners: Mehdi Khalili, Claire Novotny +- Project URL: https://github.com/Humanizr/Humanizer +- Source: [NuGet](https://www.nuget.org/packages/Humanizer.Core/2.8.26) +- License: [MIT](https://github.com/Humanizr/Humanizer/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +============================================================================== + +Inflector (https://github.com/srkirkland/Inflector) +The MIT License (MIT) +Copyright (c) 2013 Scott Kirkland + +============================================================================== + +ByteSize (https://github.com/omar/ByteSize) +The MIT License (MIT) +Copyright (c) 2013-2014 Omar Khudeira (http://omar.io) + +============================================================================== +``` + +</details> + + +<details> +<summary>JetBrains.Annotations 2021.3.0</summary> + +## JetBrains.Annotations + +- Version: 2021.3.0 +- Authors: JetBrains +- Owners: JetBrains +- Project URL: https://www.jetbrains.com/help/resharper/Code_Analysis__Code_Annotations.html +- Source: [NuGet](https://www.nuget.org/packages/JetBrains.Annotations/2021.3.0) +- License: [MIT](https://github.com/JetBrains/JetBrains.Annotations/raw/main/license.md) ``` MIT License -Copyright (c) 2020 Macross Software +Copyright (c) 2016 JetBrains http://www.jetbrains.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1399,40 +1707,118 @@ SOFTWARE. <details> -<summary>Microsoft.AspNet.WebApi.Client 5.2.9</summary> +<summary>Karambolo.Extensions.Logging.File 3.3.1</summary> -## Microsoft.AspNet.WebApi.Client +## Karambolo.Extensions.Logging.File -- Version: 5.2.9 -- Authors: Microsoft -- Owners: Microsoft,aspnet -- Project URL: https://www.asp.net/web-api -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/5.2.9) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +- Version: 3.3.1 +- Authors: Adam Simon +- Project URL: https://github.com/adams85/filelogger +- Source: [NuGet](https://www.nuget.org/packages/Karambolo.Extensions.Logging.File/3.3.1) +- License: [MIT](https://github.com/adams85/filelogger/raw/master/LICENSE) ``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY +MIT License -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. +Copyright (c) 2022 Adam Simon -If -you comply with these license terms, you have the rights below. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -2.    -THIRD PARTY COMPONENTS. The software may include third party components with +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Macross.Json.Extensions 3.0.0</summary> + +## Macross.Json.Extensions + +- Version: 3.0.0 +- Authors: Macross.Json.Extensions +- Project URL: https://github.com/Macross-Software/core/tree/develop/ClassLibraries/Macross.Json.Extensions +- Source: [NuGet](https://www.nuget.org/packages/Macross.Json.Extensions/3.0.0) +- License: [MIT](https://github.com/Macross-Software/core/raw/develop/LICENSE.txt) + + +``` +MIT License + +Copyright (c) 2020 Macross Software + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.AspNet.WebApi.Client 5.2.9</summary> + +## Microsoft.AspNet.WebApi.Client + +- Version: 5.2.9 +- Authors: Microsoft +- Owners: Microsoft,aspnet +- Project URL: https://www.asp.net/web-api +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/5.2.9) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) + + +``` +MICROSOFT SOFTWARE LICENSE +TERMS + +MICROSOFT .NET +LIBRARY + +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. + +If +you comply with these license terms, you have the rights below. + +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  + +2.    +THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. 3.    @@ -2050,147 +2436,235 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.AspNetCore.Http.Extensions 2.2.0</summary> +<summary>Microsoft.AspNetCore.Http.Abstractions 2.1.0</summary> -## Microsoft.AspNetCore.Http.Extensions +## Microsoft.AspNetCore.Http.Abstractions -- Version: 2.2.0 +- Version: 2.1.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Extensions/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Abstractions/2.1.0) +- License: [Apache-2.0](https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) ``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ - http://www.apache.org/licenses/LICENSE-2.0 + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` + 1. Definitions. -</details> + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -<details> -<summary>Microsoft.AspNetCore.Http.Features 2.2.0</summary> + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -## Microsoft.AspNetCore.Http.Features + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Features/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -``` -Copyright (c) .NET Foundation and Contributors + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -All rights reserved. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." - http://www.apache.org/licenses/LICENSE-2.0 + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -</details> + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -<details> -<summary>Microsoft.AspNetCore.JsonPatch 2.2.0</summary> + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -## Microsoft.AspNetCore.JsonPatch + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.JsonPatch/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -``` -Copyright (c) .NET Foundation and Contributors + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -All rights reserved. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` - -</details> + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -<details> -<summary>Microsoft.AspNetCore.Mvc.Abstractions 2.2.0</summary> + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -## Microsoft.AspNetCore.Mvc.Abstractions + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Abstractions/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -``` -Copyright (c) .NET Foundation and Contributors + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -All rights reserved. + Copyright (c) .NET Foundation and Contributors -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>Microsoft.AspNetCore.Mvc.Core 2.2.0</summary> +<summary>Microsoft.AspNetCore.Http.Extensions 2.2.0</summary> -## Microsoft.AspNetCore.Mvc.Core +## Microsoft.AspNetCore.Http.Extensions - Version: 2.2.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Core/2.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Extensions/2.2.0) - License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) @@ -2215,15 +2689,15 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.AspNetCore.Mvc.Formatters.Json 2.2.0</summary> +<summary>Microsoft.AspNetCore.Http.Features 2.2.0</summary> -## Microsoft.AspNetCore.Mvc.Formatters.Json +## Microsoft.AspNetCore.Http.Features - Version: 2.2.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Features/2.2.0) - License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) @@ -2248,86 +2722,240 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.AspNetCore.Mvc.WebApiCompatShim 2.2.0</summary> +<summary>Microsoft.AspNetCore.Http.Features 2.1.0</summary> -## Microsoft.AspNetCore.Mvc.WebApiCompatShim +## Microsoft.AspNetCore.Http.Features -- Version: 2.2.0 +- Version: 2.1.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.WebApiCompatShim/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Features/2.1.0) +- License: [Apache-2.0](https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) ``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -</details> + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -<details> -<summary>Microsoft.AspNetCore.ResponseCaching.Abstractions 2.2.0</summary> + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -## Microsoft.AspNetCore.ResponseCaching.Abstractions + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -``` -Copyright (c) .NET Foundation and Contributors + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -All rights reserved. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - http://www.apache.org/licenses/LICENSE-2.0 + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -</details> + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -<details> -<summary>Microsoft.AspNetCore.Routing 2.2.0</summary> + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -## Microsoft.AspNetCore.Routing + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Routing/2.2.0) -- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -``` -Copyright (c) .NET Foundation and Contributors + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) .NET Foundation and Contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.AspNetCore.JsonPatch 2.2.0</summary> + +## Microsoft.AspNetCore.JsonPatch + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.JsonPatch/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors All rights reserved. @@ -2347,15 +2975,15 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.AspNetCore.Routing.Abstractions 2.2.0</summary> +<summary>Microsoft.AspNetCore.Mvc.Abstractions 2.2.0</summary> -## Microsoft.AspNetCore.Routing.Abstractions +## Microsoft.AspNetCore.Mvc.Abstractions - Version: 2.2.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Routing.Abstractions/2.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Abstractions/2.2.0) - License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) @@ -2380,15 +3008,15 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.AspNetCore.WebUtilities 2.2.0</summary> +<summary>Microsoft.AspNetCore.Mvc.Core 2.2.0</summary> -## Microsoft.AspNetCore.WebUtilities +## Microsoft.AspNetCore.Mvc.Core - Version: 2.2.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.WebUtilities/2.2.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Core/2.2.0) - License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) @@ -2413,149 +3041,347 @@ specific language governing permissions and limitations under the License. <details> -<summary>Microsoft.Bcl.AsyncInterfaces 1.1.1</summary> +<summary>Microsoft.AspNetCore.Mvc.Formatters.Json 2.2.0</summary> -## Microsoft.Bcl.AsyncInterfaces +## Microsoft.AspNetCore.Mvc.Formatters.Json -- Version: 1.1.1 +- Version: 2.2.0 - Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://github.com/dotnet/corefx -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/1.1.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Json/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) ``` -The MIT License (MIT) - Copyright (c) .NET Foundation and Contributors All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. ``` </details> <details> -<summary>Microsoft.Bcl.AsyncInterfaces 6.0.0</summary> +<summary>Microsoft.AspNetCore.Mvc.WebApiCompatShim 2.2.0</summary> -## Microsoft.Bcl.AsyncInterfaces +## Microsoft.AspNetCore.Mvc.WebApiCompatShim -- Version: 6.0.0 +- Version: 2.2.0 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.WebApiCompatShim/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) ``` -The MIT License (MIT) - Copyright (c) .NET Foundation and Contributors All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. ``` </details> <details> -<summary>Microsoft.CSharp 4.0.1</summary> +<summary>Microsoft.AspNetCore.ResponseCaching.Abstractions 2.2.0</summary> -## Microsoft.CSharp +## Microsoft.AspNetCore.ResponseCaching.Abstractions -- Version: 4.0.1 +- Version: 2.2.0 - Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CSharp/4.0.1) -- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.ResponseCaching.Abstractions/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) ``` -MICROSOFT SOFTWARE LICENSE -TERMS +Copyright (c) .NET Foundation and Contributors -MICROSOFT .NET -LIBRARY +All rights reserved. -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at -If -you comply with these license terms, you have the rights below. + http://www.apache.org/licenses/LICENSE-2.0 -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -·        -You may copy and distribute the object code form of the software. -·        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -·        -use the Distributable Code in your applications and not as a -standalone distribution; -·        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -·        +</details> + + +<details> +<summary>Microsoft.AspNetCore.Routing 2.2.0</summary> + +## Microsoft.AspNetCore.Routing + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Routing/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.AspNetCore.Routing.Abstractions 2.2.0</summary> + +## Microsoft.AspNetCore.Routing.Abstractions + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Routing.Abstractions/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.AspNetCore.WebUtilities 2.2.0</summary> + +## Microsoft.AspNetCore.WebUtilities + +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.WebUtilities/2.2.0) +- License: [Apache-2.0]( https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Bcl.AsyncInterfaces 1.1.1</summary> + +## Microsoft.Bcl.AsyncInterfaces + +- Version: 1.1.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/corefx +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/1.1.1) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Bcl.AsyncInterfaces 6.0.0</summary> + +## Microsoft.Bcl.AsyncInterfaces + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.CSharp 4.0.1</summary> + +## Microsoft.CSharp + +- Version: 4.0.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CSharp/4.0.1) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) + + +``` +MICROSOFT SOFTWARE LICENSE +TERMS + +MICROSOFT .NET +LIBRARY + +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. + +If +you comply with these license terms, you have the rights below. + +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  + +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. “Distributable Code” is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +·        +You may copy and distribute the object code form of the software. +·        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +·        +use the Distributable Code in your applications and not as a +standalone distribution; +·        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +·        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable @@ -6580,11 +7406,10 @@ SOFTWARE. ## Microsoft.Toolkit.HighPerformance - Version: 7.1.2 -- Authors: Microsoft -- Owners: Microsoft.Toolkit,dotnetfoundation -- Project URL: https://dot.net/ +- Authors: Microsoft.Toolkit +- Project URL: https://github.com/CommunityToolkit/WindowsCommunityToolkit - Source: [NuGet](https://www.nuget.org/packages/Microsoft.Toolkit.HighPerformance/7.1.2) -- License: [MIT]( https://github.com/CommunityToolkit/WindowsCommunityToolkit/raw/main/License.md) +- License: [MIT](https://github.com/CommunityToolkit/WindowsCommunityToolkit/raw/main/License.md) ``` @@ -6596,19 +7421,16 @@ All rights reserved. ## MIT License (MIT) -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), -to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` </details> + + <details> <summary>Microsoft.Win32.Primitives 4.3.0</summary> @@ -8726,553 +9548,2949 @@ consequential or other damages. <details> <summary>NETStandard.Library 2.0.0</summary> -## NETStandard.Library +## NETStandard.Library + +- Version: 2.0.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/NETStandard.Library/2.0.0) +- License: [MIT](https://github.com/dotnet/standard/raw/release/2.0.0/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>NPOI 2.5.6</summary> + +## NPOI + +- Version: 2.5.6 +- Authors: NPOI Contributors +- Owners: Nissl Lab +- Project URL: https://github.com/nissl-lab/npoi +- Source: [NuGet](https://www.nuget.org/packages/NPOI/2.5.6) +- License: [Apache-2.0](https://github.com/nissl-lab/npoi/raw/master/LICENSE) + + +``` +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "{}" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. +``` + +</details> + + +<details> +<summary>Newtonsoft.Json 10.0.1</summary> + +## Newtonsoft.Json + +- Version: 10.0.1 +- Authors: James Newton-King +- Owners: James Newton-King +- Project URL: http://www.newtonsoft.com/json +- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/10.0.1) +- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) + + +``` +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>Newtonsoft.Json 13.0.1</summary> + +## Newtonsoft.Json + +- Version: 13.0.1 +- Authors: James Newton-King +- Project URL: https://www.newtonsoft.com/json +- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/13.0.1) +- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) + + +``` +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>Newtonsoft.Json 9.0.1</summary> + +## Newtonsoft.Json + +- Version: 9.0.1 +- Authors: James Newton-King +- Owners: James Newton-King +- Project URL: http://www.newtonsoft.com/json +- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/9.0.1) +- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) + + +``` +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>Newtonsoft.Json.Bson 1.0.1</summary> + +## Newtonsoft.Json.Bson + +- Version: 1.0.1 +- Authors: James Newton-King +- Owners: James Newton-King +- Project URL: http://www.newtonsoft.com/json +- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json.Bson/1.0.1) +- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json.Bson/raw/master/LICENSE.md) + + +``` +The MIT License (MIT) + +Copyright (c) 2017 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>NuGet.Frameworks 5.11.0</summary> + +## NuGet.Frameworks + +- Version: 5.11.0 +- Authors: Microsoft +- Project URL: https://aka.ms/nugetprj +- Source: [NuGet](https://www.nuget.org/packages/NuGet.Frameworks/5.11.0) +- License: [Apache-2.0](https://github.com/NuGet/NuGet.Client/raw/dev/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors. + +All rights reserved. + + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +these files except in compliance with the License. You may obtain a copy of the +License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Polly 7.2.3</summary> + +## Polly + +- Version: 7.2.3 +- Authors: Michael Wolfenden, App vNext +- Project URL: https://github.com/App-vNext/Polly +- Source: [NuGet](https://www.nuget.org/packages/Polly/7.2.3) +- License: [New BSD License](https://github.com/App-vNext/Polly/raw/master/LICENSE.txt) + + +``` +New BSD License += +Copyright (c) 2015-2020, App vNext +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of App vNext nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +</details> + + +<details> +<summary>Portable.BouncyCastle 1.8.9</summary> + +## Portable.BouncyCastle + +- Version: 1.8.9 +- Authors: Claire Novotny +- Project URL: https://www.bouncycastle.org/csharp/ +- Source: [NuGet](https://www.nuget.org/packages/Portable.BouncyCastle/1.8.9) +- License: [MIT]( https://www.bouncycastle.org/csharp/licence.html) + + +``` +bouncycastle.org + + + + + + + + + + +The Legion of the Bouncy Castle + + + + + + +home +wiki +issue tracker +mailing lists +resources +legal and licencing +contributors + +  + + +Please note: our license is an adaptation of the MIT X11 License and should be read as such. +Please also note: this licensing model is made possible through funding from donations and the sale of support contracts. +License +Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +  + + +  + + +Site hosted by Tau Ceti Co-operative Ltd. +Graphics provided by Geoff Hook. +Layout and design by Travis Winters. +C# is a registered trademark of Microsoft ®. +``` + +</details> + + +<details> +<summary>RabbitMQ.Client 6.4.0</summary> + +## RabbitMQ.Client + +- Version: 6.4.0 +- Authors: VMware +- Project URL: https://www.rabbitmq.com/dotnet.html +- Source: [NuGet](https://www.nuget.org/packages/RabbitMQ.Client/6.4.0) +- License: [Apache-2.0](https://github.com/rabbitmq/rabbitmq-dotnet-client/raw/main/LICENSE-APACHE2) + + +``` +Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>SQLitePCLRaw.bundle_e_sqlite3 2.0.6</summary> + +## SQLitePCLRaw.bundle_e_sqlite3 + +- Version: 2.0.6 +- Authors: Eric Sink +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.bundle_e_sqlite3/2.0.6) +- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>SQLitePCLRaw.core 2.0.6</summary> + +## SQLitePCLRaw.core + +- Version: 2.0.6 +- Authors: Eric Sink +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.core/2.0.6) +- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>SQLitePCLRaw.lib.e_sqlite3 2.0.6</summary> + +## SQLitePCLRaw.lib.e_sqlite3 + +- Version: 2.0.6 +- Authors: Eric Sink +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.lib.e_sqlite3/2.0.6) +- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>SQLitePCLRaw.provider.e_sqlite3 2.0.6</summary> + +## SQLitePCLRaw.provider.e_sqlite3 + +- Version: 2.0.6 +- Authors: Eric Sink +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.provider.e_sqlite3/2.0.6) +- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>Serilog 2.10.0</summary> + +## Serilog + +- Version: 2.10.0 +- Authors: Serilog Contributors +- Project URL: https://serilog.net/ +- Source: [NuGet](https://www.nuget.org/packages/Serilog/2.10.0) +- License: [Apache-2.0](https://github.com/serilog/serilog/raw/dev/LICENSE) + + +``` +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>Serilog.AspNetCore 6.0.1</summary> + +## Serilog.AspNetCore + +- Version: 6.0.1 +- Authors: Microsoft,Serilog Contributors +- Project URL: https://github.com/serilog/serilog-aspnetcore +- Source: [NuGet](https://www.nuget.org/packages/Serilog.AspNetCore/6.0.1) +- License: [Apache-2.0](https://github.com/serilog/serilog-aspnetcore/raw/dev/LICENSE) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + +<details> +<summary>Serilog.Enrichers.Environment 2.2.0</summary> + +## Serilog.Enrichers.Environment + +- Version: 2.2.0 +- Authors: Serilog Contributors +- Project URL: http://serilog.net/ +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Enrichers.Environment/2.2.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-enrichers-environment/raw/dev/LICENSE) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -- Version: 2.0.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/NETStandard.Library/2.0.0) -- License: [MIT](https://github.com/dotnet/standard/raw/release/2.0.0/LICENSE.TXT) + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -``` -The MIT License (MIT) + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) .NET Foundation and Contributors + Copyright {yyyy} {name of copyright owner} -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>NPOI 2.5.6</summary> +<summary>Serilog.Extensions.Hosting 5.0.1</summary> -## NPOI +## Serilog.Extensions.Hosting -- Version: 2.5.6 -- Authors: NPOI Contributors -- Owners: Nissl Lab -- Project URL: https://github.com/nissl-lab/npoi -- Source: [NuGet](https://www.nuget.org/packages/NPOI/2.5.6) -- License: [Apache-2.0](https://github.com/nissl-lab/npoi/raw/master/LICENSE) +- Version: 5.0.1 +- Authors: Microsoft,Serilog Contributors +- Project URL: https://github.com/serilog/serilog-extensions-hosting +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Extensions.Hosting/5.0.1) +- License: [Apache-2.0](https://github.com/serilog/serilog-extensions-hosting/raw/dev/LICENSE) ``` Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." + Version 2.0, January 2004 + http://www.apache.org/licenses/ -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -2. Grant of Copyright License. + 1. Definitions. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -3. Grant of Patent License. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -4. Redistribution. + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -5. Submission of Contributions. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. -6. Trademarks. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -7. Disclaimer of Warranty. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. -8. Limitation of Liability. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -9. Accepting Warranty or Additional Liability. + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -END OF TERMS AND CONDITIONS + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -APPENDIX: How to apply the Apache License to your work + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "{}" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. -``` + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -</details> + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -<details> -<summary>Newtonsoft.Json 10.0.1</summary> + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -## Newtonsoft.Json + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -- Version: 10.0.1 -- Authors: James Newton-King -- Owners: James Newton-King -- Project URL: http://www.newtonsoft.com/json -- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/10.0.1) -- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) + END OF TERMS AND CONDITIONS + APPENDIX: How to apply the Apache License to your work. -``` -The MIT License (MIT) + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) 2007 James Newton-King + Copyright {yyyy} {name of copyright owner} -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>Newtonsoft.Json 13.0.1</summary> - -## Newtonsoft.Json - -- Version: 13.0.1 -- Authors: James Newton-King -- Project URL: https://www.newtonsoft.com/json -- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/13.0.1) -- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) +<summary>Serilog.Extensions.Logging 3.1.0</summary> +## Serilog.Extensions.Logging -``` -The MIT License (MIT) - -Copyright (c) 2007 James Newton-King - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +- Version: 3.1.0 +- Authors: Microsoft,Serilog Contributors +- Project URL: https://github.com/serilog/serilog-extensions-logging +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Extensions.Logging/3.1.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-extensions-logging/raw/dev/LICENSE) -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -</details> - - -<details> -<summary>Newtonsoft.Json 9.0.1</summary> + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -## Newtonsoft.Json + 1. Definitions. -- Version: 9.0.1 -- Authors: James Newton-King -- Owners: James Newton-King -- Project URL: http://www.newtonsoft.com/json -- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/9.0.1) -- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -``` -The MIT License (MIT) + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -Copyright (c) 2007 James Newton-King + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -</details> + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -<details> -<summary>Newtonsoft.Json.Bson 1.0.1</summary> + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -## Newtonsoft.Json.Bson + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -- Version: 1.0.1 -- Authors: James Newton-King -- Owners: James Newton-King -- Project URL: http://www.newtonsoft.com/json -- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json.Bson/1.0.1) -- License: [MIT](https://github.com/JamesNK/Newtonsoft.Json.Bson/raw/master/LICENSE.md) + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -``` -The MIT License (MIT) + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2017 James Newton-King + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -</details> + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -<details> -<summary>NuGet.Frameworks 5.11.0</summary> + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -## NuGet.Frameworks + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -- Version: 5.11.0 -- Authors: Microsoft -- Project URL: https://aka.ms/nugetprj -- Source: [NuGet](https://www.nuget.org/packages/NuGet.Frameworks/5.11.0) -- License: [Apache-2.0](https://github.com/NuGet/NuGet.Client/raw/dev/LICENSE.txt) + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS -``` -Copyright (c) .NET Foundation and Contributors. + APPENDIX: How to apply the Apache License to your work. -All rights reserved. + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright {yyyy} {name of copyright owner} -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -these files except in compliance with the License. You may obtain a copy of the -License at + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at -http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>Polly 7.2.3</summary> +<summary>Serilog.Formatting.Compact 1.1.0</summary> -## Polly +## Serilog.Formatting.Compact -- Version: 7.2.3 -- Authors: Michael Wolfenden, App vNext -- Project URL: https://github.com/App-vNext/Polly -- Source: [NuGet](https://www.nuget.org/packages/Polly/7.2.3) -- License: [New BSD License](https://github.com/App-vNext/Polly/raw/master/LICENSE.txt) +- Version: 1.1.0 +- Authors: Serilog Contributors +- Owners: Serilog Contributors +- Project URL: https://github.com/serilog/serilog-formatting-compact +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Formatting.Compact/1.1.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-formatting-compact/raw/dev/LICENSE) ``` -New BSD License -= -Copyright (c) 2015-2020, App vNext -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of App vNext nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -</details> + 1. Definitions. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -<details> -<summary>Portable.BouncyCastle 1.8.9</summary> + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -## Portable.BouncyCastle + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -- Version: 1.8.9 -- Authors: Claire Novotny -- Project URL: https://www.bouncycastle.org/csharp/ -- Source: [NuGet](https://www.nuget.org/packages/Portable.BouncyCastle/1.8.9) -- License: [MIT]( https://www.bouncycastle.org/csharp/licence.html) + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -``` -bouncycastle.org + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -The Legion of the Bouncy Castle + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -home -wiki -issue tracker -mailing lists -resources -legal and licencing -contributors + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. - + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + END OF TERMS AND CONDITIONS -Please note: our license is an adaptation of the MIT X11 License and should be read as such. -Please also note: this licensing model is made possible through funding from donations and the sale of support contracts. -License -Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + APPENDIX: How to apply the Apache License to your work. - - + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + Copyright {yyyy} {name of copyright owner} - + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 -Site hosted by Tau Ceti Co-operative Ltd. -Graphics provided by Geoff Hook. -Layout and design by Travis Winters. -C# is a registered trademark of Microsoft ®. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>RabbitMQ.Client 6.4.0</summary> +<summary>Serilog.Settings.Configuration 3.3.0</summary> -## RabbitMQ.Client +## Serilog.Settings.Configuration -- Version: 6.4.0 -- Authors: VMware -- Project URL: https://www.rabbitmq.com/dotnet.html -- Source: [NuGet](https://www.nuget.org/packages/RabbitMQ.Client/6.4.0) -- License: [Apache-2.0](https://github.com/rabbitmq/rabbitmq-dotnet-client/raw/main/LICENSE-APACHE2) +- Version: 3.3.0 +- Authors: Serilog Contributors +- Project URL: https://github.com/serilog/serilog-settings-configuration/ +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Settings.Configuration/3.3.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-settings-configuration/raw/dev/LICENSE) ``` Apache License Version 2.0, January 2004 - https://www.apache.org/licenses/ + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -9450,7 +12668,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -9458,13 +12676,13 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - https://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -9477,14 +12695,15 @@ Apache License <details> -<summary>SQLitePCLRaw.bundle_e_sqlite3 2.0.6</summary> +<summary>Serilog.Sinks.Console 4.0.1</summary> -## SQLitePCLRaw.bundle_e_sqlite3 +## Serilog.Sinks.Console -- Version: 2.0.6 -- Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.bundle_e_sqlite3/2.0.6) -- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) +- Version: 4.0.1 +- Authors: Serilog Contributors +- Project URL: https://github.com/serilog/serilog-sinks-console +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Console/4.0.1) +- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-console/raw/dev/LICENSE) ``` @@ -9668,7 +12887,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -9676,7 +12895,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -9695,14 +12914,15 @@ Apache License <details> -<summary>SQLitePCLRaw.core 2.0.6</summary> +<summary>Serilog.Sinks.Debug 2.0.0</summary> -## SQLitePCLRaw.core +## Serilog.Sinks.Debug -- Version: 2.0.6 -- Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.core/2.0.6) -- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) +- Version: 2.0.0 +- Authors: Serilog Contributors +- Project URL: https://github.com/serilog/serilog-sinks-debug +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Debug/2.0.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-debug/raw/dev/LICENSE) ``` @@ -9886,7 +13106,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -9894,7 +13114,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -9913,14 +13133,15 @@ Apache License <details> -<summary>SQLitePCLRaw.lib.e_sqlite3 2.0.6</summary> +<summary>Serilog.Sinks.File 5.0.0</summary> -## SQLitePCLRaw.lib.e_sqlite3 +## Serilog.Sinks.File -- Version: 2.0.6 -- Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.lib.e_sqlite3/2.0.6) -- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) +- Version: 5.0.0 +- Authors: Serilog Contributors +- Project URL: https://serilog.net/ +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.File/5.0.0) +- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-file/raw/dev/LICENSE) ``` @@ -10104,7 +13325,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" + boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -10112,7 +13333,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -10131,14 +13352,15 @@ Apache License <details> -<summary>SQLitePCLRaw.provider.e_sqlite3 2.0.6</summary> +<summary>Serilog.Sinks.Http 8.0.0</summary> -## SQLitePCLRaw.provider.e_sqlite3 +## Serilog.Sinks.Http -- Version: 2.0.6 -- Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.provider.e_sqlite3/2.0.6) -- License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) +- Version: 8.0.0 +- Authors: Mattias Kindborg +- Project URL: https://github.com/FantasticFiasco/serilog-sinks-http +- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Http/8.0.0) +- License: [Apache-2.0](https://github.com/FantasticFiasco/serilog-sinks-http/raw/master/LICENSE) ``` @@ -10319,18 +13541,7 @@ Apache License END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] + Copyright 2017-2022 Mattias Kindborg Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19880,6 +23091,39 @@ consequential or other damages. </details> +<details> +<summary>System.Reflection.TypeExtensions 4.7.0</summary> + +## System.Reflection.TypeExtensions + +- Version: 4.7.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/corefx +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.7.0) +- License: [MIT](https://licenses.nuget.org/MIT) + + +``` +'MIT' reference + + + +SPDX identifier +MIT +License text + MIT License _____ + +Permission is hereby granted, free of charge, to any person obtaining a copy of _____ (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL _____ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + <details> <summary>System.Resources.ResourceManager 4.3.0</summary> @@ -27584,13 +30828,13 @@ A "contributor" is any person that distributes its contribution under this licen 2. Grant of Rights (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works - of its contribution, and distribute its contribution or any derivative works that you create. + royalty-free copyright license to reproduce its contribution, prepare derivative works + of its contribution, and distribute its contribution or any derivative works that you create. (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the - contribution in the software. + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the + contribution in the software. 3. Conditions and Limitations (A) No Trademark License- This license does not grant you rights to use any contributors' name, @@ -27601,13 +30845,13 @@ A "contributor" is any person that distributes its contribution under this licen and attribution notices that are present in the software. (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license - that complies with this license. + any portion of the software in compiled or object code form, you may only do so under a license + that complies with this license. (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose - and non-infringement. + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose + and non-infringement. From eea1959f3b8f10fe7aed8dc322425c3273d04718 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 6 Sep 2022 08:26:22 -0700 Subject: [PATCH 037/101] Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> --- docs/changelog.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 86b9fdcd4..9f6b64dc1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -16,7 +16,6 @@ # Changelog - ## 0.3.1 [GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/7) From 7179742f961bb65509ae674dc94018fe3024efc6 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 6 Sep 2022 09:46:56 -0700 Subject: [PATCH 038/101] Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs index 007995a2f..d4ae19334 100644 --- a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs +++ b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs @@ -16,6 +16,7 @@ using System; using System.Linq; +using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Diagnostics.HealthChecks; From 706c19cc68c97824671eb0d1192bbafb130ea511 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:15:50 -0700 Subject: [PATCH 039/101] Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> From 7d581c2aec2b1c7bb5f30f777085c30c7dde5df2 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:15:50 -0700 Subject: [PATCH 040/101] Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> From 23db64a84c583ea871c8bf637b7a68d31de9b89c Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 19 Sep 2022 08:39:40 -0700 Subject: [PATCH 041/101] merge develop main (#156) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update .gitversion.yml * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From 343a3bfd5a07fedeaa90724ecdb116ff28b6295f Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 23 Sep 2022 09:50:46 -0700 Subject: [PATCH 042/101] Revert "Ability to switch temporary storage to use either memory or disk (#166)" (#167) This reverts commit 09887b1bff6ec7d77e69e0256edc76bac1ec6a82. --- src/Api/Storage/Payload.cs | 2 - src/Api/Storage/StorageObjectMetadata.cs | 25 ++---------- src/Configuration/ConfigurationValidator.cs | 38 +----------------- .../TemporaryDataStorageLocation.cs | 24 ----------- .../Test/ConfigurationValidatorTest.cs | 17 ++++---- src/Database/PayloadConfiguration.cs | 1 - .../Logging/Log.700.PayloadService.cs | 4 +- .../Connectors/DataRetrievalService.cs | 9 ++--- .../PayloadNotificationActionHandler.cs | 2 +- .../Services/DicomWeb/IStreamsWriter.cs | 8 +--- .../Services/Fhir/FhirJsonReader.cs | 11 +---- .../Services/Fhir/FhirService.cs | 7 +--- .../Services/Fhir/FhirXmlReader.cs | 11 +---- .../Services/HealthLevel7/MllpService.cs | 5 +-- .../Services/Scp/ApplicationEntityHandler.cs | 12 ++---- .../DicomFileStorageMetadataExtensionsTest.cs | 40 ++----------------- .../Connectors/DataRetrievalServiceTest.cs | 4 -- .../Services/DicomWeb/StreamsWriterTest.cs | 22 +++++----- .../Test/Services/Fhir/FhirServiceTest.cs | 4 -- .../Storage/ObjectUploadServiceTest.cs | 11 ++--- 20 files changed, 48 insertions(+), 209 deletions(-) delete mode 100644 src/Configuration/TemporaryDataStorageLocation.cs diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index af584bb20..d0fcb4e3e 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -66,8 +66,6 @@ public enum PayloadState public bool HasTimedOut { get => ElapsedTime().TotalSeconds >= Timeout; } - public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } - public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } public string CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index fae88b73a..7e17289da 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.Runtime; using System.Text.Json.Serialization; using Ardalis.GuardClauses; @@ -124,27 +123,9 @@ public void SetUploaded(string bucketName) if (Data is not null && Data.CanSeek) { - if (Data is FileStream fileStream) - { - var filename = fileStream.Name; - Data.Close(); - Data.Dispose(); - Data = null; - System.IO.File.Delete(filename); - } - else // MemoryStream - { - Data.Close(); - Data.Dispose(); - Data = null; - - // When IG stores all received/downloaded data in-memory using MemoryStream, LOH grows tremendously and thus impacts the performance and - // memory usage. The following makes sure LOH is compacted after the data is uploaded. - GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; -#pragma warning disable S1215 // "GC.Collect" should not be called - GC.Collect(); -#pragma warning restore S1215 // "GC.Collect" should not be called - } + Data.Close(); + Data.Dispose(); + Data = null; } } diff --git a/src/Configuration/ConfigurationValidator.cs b/src/Configuration/ConfigurationValidator.cs index 86d7cb51d..bd8c18db2 100644 --- a/src/Configuration/ConfigurationValidator.cs +++ b/src/Configuration/ConfigurationValidator.cs @@ -17,8 +17,6 @@ using System; using System.Collections.Generic; -using System.IO; -using System.IO.Abstractions; using System.Text.RegularExpressions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -31,7 +29,6 @@ namespace Monai.Deploy.InformaticsGateway.Configuration public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfiguration> { private readonly ILogger<ConfigurationValidator> _logger; - private readonly IFileSystem _fileSystem; private readonly List<string> _validationErrors; /// <summary> @@ -39,10 +36,9 @@ public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfigu /// </summary> /// <param name="configuration">InformaticsGatewayConfiguration to be validated</param> /// <param name="logger">Logger to be used by ConfigurationValidator</param> - public ConfigurationValidator(ILogger<ConfigurationValidator> logger, IFileSystem fileSystem) + public ConfigurationValidator(ILogger<ConfigurationValidator> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _validationErrors = new List<string>(); } @@ -86,38 +82,6 @@ private bool IsStorageValid(StorageConfiguration storage) valid &= IsValueInRange("InformaticsGateway>storage>reserveSpaceGB", 1, 999, storage.ReserveSpaceGB); valid &= IsValueInRange("InformaticsGateway>storage>payloadProcessThreads", 1, 128, storage.PayloadProcessThreads); valid &= IsValueInRange("InformaticsGateway>storage>concurrentUploads", 1, 128, storage.ConcurrentUploads); - valid &= IsValueInRange("InformaticsGateway>storage>memoryThreshold", 1, int.MaxValue, storage.MemoryThreshold); - - if (storage.TemporaryDataStorage == TemporaryDataStorageLocation.Disk) - { - valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); - valid &= IsValidDirectory("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); - valid &= IsValueInRange("InformaticsGateway>storage>bufferSize", 1, int.MaxValue, storage.BufferSize); - } - - return valid; - } - - private bool IsValidDirectory(string source, string directory) - { - var valid = true; - try - { - if (!_fileSystem.Directory.Exists(directory)) - { - valid = false; - _validationErrors.Add($"Directory `{directory}` specified in `{source}` does not exist."); - } - else - { - using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); - } - } - catch (Exception ex) - { - valid = false; - _validationErrors.Add($"Directory `{directory}` specified in `{source}` is not accessible: {ex.Message}."); - } return valid; } diff --git a/src/Configuration/TemporaryDataStorageLocation.cs b/src/Configuration/TemporaryDataStorageLocation.cs deleted file mode 100644 index 01fe8305d..000000000 --- a/src/Configuration/TemporaryDataStorageLocation.cs +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace Monai.Deploy.InformaticsGateway.Configuration -{ - public enum TemporaryDataStorageLocation - { - Memory, - Disk - } -} diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index d1fb6375d..e214f45fd 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -15,8 +15,6 @@ */ using System; -using System.IO; -using System.IO.Abstractions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -28,7 +26,6 @@ namespace Monai.Deploy.InformaticsGateway.Configuration.Test public class ConfigurationValidatorTest { private readonly Mock<ILogger<ConfigurationValidator>> _logger; - private readonly Mock<IFileSystem> _fileSystem; public ConfigurationValidatorTest() { @@ -42,7 +39,7 @@ public ConfigurationValidatorTest() public void AllValid() { var config = MockValidConfiguration(); - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); Assert.True(valid == ValidateOptionsResult.Success); } @@ -52,7 +49,7 @@ public void InvalidScpPort() var config = MockValidConfiguration(); config.Dicom.Scp.Port = Int32.MaxValue; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = $"Invalid port number '{Int32.MaxValue}' specified for InformaticsGateway>dicom>scp>port."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -65,7 +62,7 @@ public void InvalidScpMaxAssociations() var config = MockValidConfiguration(); config.Dicom.Scp.MaximumNumberOfAssociations = 0; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = $"Value of InformaticsGateway>dicom>scp>max-associations must be between {1} and {1000}."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -78,7 +75,7 @@ public void StorageWithInvalidWatermark() var config = MockValidConfiguration(); config.Storage.Watermark = 1000; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>watermark must be between 1 and 100."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -91,7 +88,7 @@ public void StorageWithInvalidReservedSpace() var config = MockValidConfiguration(); config.Storage.ReserveSpaceGB = 9999; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>reserveSpaceGB must be between 1 and 999."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -104,7 +101,7 @@ public void StorageWithInvalidTemporaryBucketName() var config = MockValidConfiguration(); config.Storage.TemporaryStorageBucket = " "; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>temporaryBucketName is required.", "Value for InformaticsGateway>storage>temporaryBucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -120,7 +117,7 @@ public void StorageWithInvalidBucketName() var config = MockValidConfiguration(); config.Storage.StorageServiceBucketName = ""; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>bucketName is required.", "Value for InformaticsGateway>storage>bucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/PayloadConfiguration.cs index b40c9e7c1..171b10ac1 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/PayloadConfiguration.cs @@ -57,7 +57,6 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.CalledAeTitle); builder.Ignore(j => j.CallingAeTitle); builder.Ignore(j => j.HasTimedOut); - builder.Ignore(j => j.Elapsed); builder.Ignore(j => j.Count); } } diff --git a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs index 5cb9aaa3f..588669efe 100644 --- a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs +++ b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs @@ -53,8 +53,8 @@ public static partial class Log [LoggerMessage(EventId = 711, Level = LogLevel.Information, Message = "Publishing workflow request message ID={messageId}...")] public static partial void PublishingWorkflowRequest(this ILogger logger, string messageId); - [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}. Payload took {payloadElapsedTime} to complete.")] - public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId, TimeSpan payloadElapsedTime); + [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}.")] + public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId); [LoggerMessage(EventId = 713, Level = LogLevel.Information, Message = "Restoring payloads from database.")] public static partial void StartupRestoreFromDatabase(this ILogger logger); diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index ada4e956f..ea39f5d0b 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; -using System.IO.Abstractions; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; @@ -56,7 +55,6 @@ internal class DataRetrievalService : IHostedService, IMonaiService, IDisposable private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; private readonly IDicomToolkit _dicomToolkit; - private readonly IFileSystem _fileSystem; private bool _disposedValue; public ServiceStatus Status { get; set; } @@ -79,7 +77,6 @@ public DataRetrievalService( _uploadQueue = _rootScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _rootScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _dicomToolkit = _rootScope.ServiceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); - _fileSystem = _rootScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public Task StartAsync(CancellationToken cancellationToken) @@ -333,7 +330,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fhirFile.SetDataStream(json); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -512,7 +509,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -542,7 +539,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 4a50c3fd7..c45c1cbc4 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -138,7 +138,7 @@ await _messageBrokerPublisherService.Publish( _options.Value.Messaging.Topics.WorkflowRequest, message.ToMessage()).ConfigureAwait(false); - _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId, payload.Elapsed); + _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId); } private async Task<PayloadAction> UpdatePayloadState(Payload payload) diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index c09943d4c..35cf29a15 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -44,7 +43,6 @@ internal interface IStreamsWriter internal class StreamsWriter : IStreamsWriter { private readonly ILogger<StreamsWriter> _logger; - private readonly IFileSystem _fileSystem; private readonly IObjectUploadQueue _uploadQueue; private readonly IDicomToolkit _dicomToolkit; private readonly IPayloadAssembler _payloadAssembler; @@ -58,15 +56,13 @@ public StreamsWriter( IDicomToolkit dicomToolkit, IPayloadAssembler payloadAssembler, IOptions<InformaticsGatewayConfiguration> configuration, - ILogger<StreamsWriter> logger, - IFileSystem fileSystem) + ILogger<StreamsWriter> logger) { _uploadQueue = fileStore ?? throw new ArgumentNullException(nameof(fileStore)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _payloadAssembler = payloadAssembler ?? throw new ArgumentNullException(nameof(payloadAssembler)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _resultDicomDataset = new DicomDataset(); _failureCount = 0; _storedCount = 0; @@ -169,7 +165,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index 2f56dffb5..9b8ab8b99 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text.Json; using System.Text.Json.Nodes; using System.Threading; @@ -24,11 +23,9 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -36,14 +33,10 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirJsonReader : IFHirRequestReader { private readonly ILogger<FhirJsonReader> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; - public FhirJsonReader(ILogger<FhirJsonReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) + public FhirJsonReader(ILogger<FhirJsonReader> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -75,7 +68,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fileMetadata.SetDataStream(result.RawData); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs index f66dbc830..59c3b8cf0 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirService.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -15,7 +15,6 @@ */ using System; -using System.IO.Abstractions; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -42,7 +41,6 @@ internal class FhirService : IFhirService private readonly ILogger<FhirService> _logger; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - private readonly IFileSystem _fileSystem; public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<InformaticsGatewayConfiguration> configuration) { @@ -53,7 +51,6 @@ public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic _logger = scope.ServiceProvider.GetService<ILogger<FhirService>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirService>)); _payloadAssembler = scope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); - _fileSystem = scope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) @@ -103,13 +100,13 @@ private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeader if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirJsonReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirJsonReader>)); - return new FhirJsonReader(logger, _configuration, _fileSystem); + return new FhirJsonReader(logger); } if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirXmlReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirXmlReader>)); - return new FhirXmlReader(logger, _configuration, _fileSystem); + return new FhirXmlReader(logger); } throw new UnsupportedContentTypeException($"Media type of '{mediaTypeHeaderValue.MediaType}' is not supported."); diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index 2d975db8a..07610c6b2 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -24,11 +23,9 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; -using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -36,14 +33,10 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirXmlReader : IFHirRequestReader { private readonly ILogger<FhirXmlReader> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly IFileSystem _fileSystem; - public FhirXmlReader(ILogger<FhirXmlReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) + public FhirXmlReader(ILogger<FhirXmlReader> logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -87,7 +80,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.InternalResourceType = rootNode.Name; var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + fileMetadata.SetDataStream(result.RawData); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index ba657f8b2..3ba770ffd 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; -using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -44,7 +43,6 @@ internal sealed class MllpService : IHostedService, IDisposable, IMonaiService private readonly IMllpClientFactory _mllpClientFactory; private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; - private readonly IFileSystem _fileSystem; private readonly IServiceScope _serviceScope; private readonly ILoggerFactory _logginFactory; private readonly ILogger<MllpService> _logger; @@ -81,7 +79,6 @@ public MllpService(IServiceScopeFactory serviceScopeFactory, _mllpClientFactory = _serviceScope.ServiceProvider.GetService<IMllpClientFactory>() ?? throw new ServiceNotFoundException(nameof(IMllpClientFactory)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); - _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); _activeTasks = new ConcurrentDictionary<Guid, IMllpClient>(); } @@ -161,7 +158,7 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath); + hl7Fileetadata.SetDataStream(message.HL7Message); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index a856c09fd..46bec278e 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -15,14 +15,12 @@ */ using System; -using System.IO.Abstractions; using System.Linq; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; @@ -36,12 +34,11 @@ namespace Monai.Deploy.InformaticsGateway.Services.Scp internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler { private readonly ILogger<ApplicationEntityHandler> _logger; - private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly IServiceScope _serviceScope; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - private readonly IFileSystem _fileSystem; + private MonaiApplicationEntity _configuration; private DicomJsonOptions _dicomJsonOptions; private bool _validateDicomValueOnJsonSerialization; @@ -49,17 +46,14 @@ internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler public ApplicationEntityHandler( IServiceScopeFactory serviceScopeFactory, - ILogger<ApplicationEntityHandler> logger, - IOptions<InformaticsGatewayConfiguration> options) + ILogger<ApplicationEntityHandler> logger) { Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _options = options ?? throw new ArgumentNullException(nameof(options)); _serviceScope = serviceScopeFactory.CreateScope(); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); - _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) @@ -101,7 +95,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization)).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index a572279f4..3f389a152 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions.TestingHelpers; using System.Text; using System.Threading.Tasks; using FellowOakDicom; @@ -32,7 +31,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Common public class DicomFileStorageMetadataExtensionsTest { [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithInMemoryStore_ExpectDataStreamsAreSet() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_ExpectDataStreamsAreSet() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -43,7 +42,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithI var dicom = InstanceGenerator.GenerateDicomFile(); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); @@ -60,38 +59,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithI } [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithDiskStore_ExpectDataStreamsAreSet() - { - var fileSystem = new MockFileSystem(); - fileSystem.AddDirectory("/temp"); - - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - var dicom = InstanceGenerator.GenerateDicomFile(); - var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Disk, fileSystem, "/temp").ConfigureAwait(false); - - Assert.NotNull(metadata.File.Data); - Assert.NotNull(metadata.JsonFile.Data); - - var ms = new MemoryStream(); - await dicom.SaveAsync(ms).ConfigureAwait(false); - Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); - - var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); - Assert.Equal(json.Trim(), jsonFromStream.Trim()); - - var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); - Assert.Equal(dicom.Dataset, dicomFileFromJson); - } - - [Fact] - public void GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() + public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -126,7 +94,7 @@ public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataSt dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234392234", "0.2354257587243524352345"); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index 39ab94464..074a3f619 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; @@ -55,7 +54,6 @@ public class DataRetrievalServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IDicomToolkit> _dicomToolkit; - private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IInferenceRequestRepository> _inferenceRequestStore; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; @@ -76,7 +74,6 @@ public DataRetrievalServiceTest() _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _uploadQueue = new Mock<IObjectUploadQueue>(); _dicomToolkit = new Mock<IDicomToolkit>(); - _fileSystem = new Mock<IFileSystem>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _serviceScope = new Mock<IServiceScope>(); @@ -93,7 +90,6 @@ public DataRetrievalServiceTest() services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _dicomToolkit.Object); services.AddScoped(p => _inferenceRequestStore.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); diff --git a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs index 451d0633d..c6295fc2f 100644 --- a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs +++ b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.IO.Abstractions.TestingHelpers; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -39,7 +38,6 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.DicomWeb public class StreamsWriterTest { private readonly Mock<ILogger<StreamsWriter>> _logger; - private readonly MockFileSystem _fileSystem; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IPayloadAssembler> _payloadAssembler; @@ -52,19 +50,17 @@ public StreamsWriterTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _configuration = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<StreamsWriter>>(); - _fileSystem = new MockFileSystem(); } [Fact] public void GivenAStreamsWriter_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, null)); - var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null)); + var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object)); Assert.Null(exception); } @@ -76,7 +72,7 @@ public async Task GivenAHttpStream_WhenFailedToOpenAsDicomInstance_ExpectStatus4 .Throws(new Exception("error")); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var streams = GenerateDicomStreams(studyInstanceUid); var result = await writer.Save( @@ -98,7 +94,7 @@ public async Task GivingADicomInstanceWithoutAMatchingStudyInstanceUid_WhenSavei _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); @@ -136,7 +132,7 @@ public async Task GivingAValidDicomInstance_WhenSaveingInstance_ExpectInstanceTo _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index 95d61d121..62ab3e7a0 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -16,7 +16,6 @@ using System; using System.IO; -using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -44,7 +43,6 @@ public class FhirServiceTest private readonly Mock<ILogger<FhirService>> _logger; private readonly Mock<ILogger<FhirJsonReader>> _loggerJson; private readonly Mock<ILogger<FhirXmlReader>> _loggerXml; - private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; @@ -64,7 +62,6 @@ public FhirServiceTest() _logger = new Mock<ILogger<FhirService>>(); _loggerJson = new Mock<ILogger<FhirJsonReader>>(); _loggerXml = new Mock<ILogger<FhirXmlReader>>(); - _fileSystem = new Mock<IFileSystem>(); _httpRequest = new Mock<HttpRequest>(); @@ -76,7 +73,6 @@ public FhirServiceTest() services.AddScoped(p => _loggerXml.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); - services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index d844eaec8..5a7e445c3 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -45,6 +45,7 @@ public class ObjectUploadServiceTest private readonly IObjectUploadQueue _uploadQueue; private readonly Mock<IStorageService> _storageService; private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; + private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; @@ -123,7 +124,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi } [Fact] - public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() + public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); _storageService.Setup(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>())) @@ -136,7 +137,7 @@ public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingle Assert.Equal(ServiceStatus.Running, svc.Status); - var file = await GenerateFhirFileStorageMetadata(); + var file = GenerateFhirFileStorageMetadata(); _uploadQueue.Queue(file); Assert.True(countdownEvent.Wait(TimeSpan.FromSeconds(3))); @@ -144,11 +145,11 @@ public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingle _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Once()); } - private async Task<FhirFileStorageMetadata> GenerateFhirFileStorageMetadata() + private FhirFileStorageMetadata GenerateFhirFileStorageMetadata() { var file = new FhirFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), FhirStorageFormat.Json); - await file.SetDataStream("[]", TemporaryDataStorageLocation.Memory); + file.SetDataStream("[]"); return file; } @@ -168,7 +169,7 @@ private async Task<DicomFileStorageMetadata> GenerateDicomFileStorageMetadata() { DicomTag.SOPClassUID, DicomUID.SecondaryCaptureImageStorage.UID } }; var dicomFile = new DicomFile(dataset); - await file.SetDataStreams(dicomFile, "[]", TemporaryDataStorageLocation.Memory); + await file.SetDataStreams(dicomFile, "[]"); return file; } } From 7d4bf33e1d3e72f7f8f4b865998cf12ec52d2fa4 Mon Sep 17 00:00:00 2001 From: Neil South <104848880+neildsouth@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:47:00 +0100 Subject: [PATCH 043/101] rebased changes (#170) Signed-off-by: Neil South <neil.south@answerdigital.com> Signed-off-by: Neil South <neil.south@answerdigital.com> --- .../Monai.Deploy.InformaticsGateway.csproj | 7 +++- src/InformaticsGateway/Program.cs | 19 ++++++++++ src/InformaticsGateway/appsettings.json | 37 +++++++++++-------- 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 7a31a6b38..721b48f32 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -51,7 +51,12 @@ <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> + <PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" /> + <PackageReference Include="Serilog.Exceptions" Version="8.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> + <PackageReference Include="Serilog.AspNetCore" Version="6.0.1" /> + <PackageReference Include="Serilog.Sinks.Http" Version="8.0.0" /> + <PackageReference Include="Elastic.CommonSchema.Serilog" Version="1.5.3" /> </ItemGroup> <ItemGroup> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 84f7594c8..133eaa102 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -17,7 +17,9 @@ using System; using System.IO; using System.IO.Abstractions; +using System.Reflection; using Ardalis.GuardClauses; +using Elastic.CommonSchema.Serilog; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -43,6 +45,9 @@ using Monai.Deploy.Messaging.Configuration; using Monai.Deploy.Storage; using Monai.Deploy.Storage.Configuration; +using Serilog; +using Serilog.Events; +using Serilog.Exceptions; namespace Monai.Deploy.InformaticsGateway { @@ -87,6 +92,20 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => configureLogging.AddConfiguration(builderContext.Configuration.GetSection("Logging")); configureLogging.AddFile(o => o.RootPath = AppContext.BaseDirectory); }) + .UseSerilog((context, services, configuration) => configuration + .ReadFrom.Configuration(context.Configuration) + .ReadFrom.Services(services) + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .MinimumLevel.Debug() + .Enrich.FromLogContext() + .Enrich.WithExceptionDetails() + .Enrich.WithProperty("dllversion", Assembly.GetEntryAssembly().GetName().Version) + .Enrich.WithProperty("dllName", Assembly.GetEntryAssembly().GetName().Name) + .WriteTo.File( + path: "logs/MWM-.log", + rollingInterval: RollingInterval.Day, + formatter: new EcsTextFormatter()) + .WriteTo.Console()) .ConfigureServices((hostContext, services) => { services.AddOptions<InformaticsGatewayConfiguration>() diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 78bdfd272..7994f64b7 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -81,23 +81,30 @@ "TimestampFormat": " HH:mm:ss ", "UseUtcTimestamp": true } - }, - "File": { - "BasePath": "logs", - "FileEncodingName": "utf-8", - "DateFormat": "yyyyMMdd", - "CounterFormat": "000", - "MaxFileSize": 10485760, - "IncludeScopes": true, - "MaxQueueSize": 100, - "TextBuilderType": "Monai.Deploy.InformaticsGateway.Logging.FileLoggingTextFormatter, Monai.Deploy.InformaticsGateway", - "Files": [ - { - "Path": "MIG-<date>-<counter>.log" - } - ] } }, + "Serilog": { + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "logs/MTM-.log", + "rollingInterval": "Day", + "rollOnFileSizeLimit": true, + "fileSizeLimitBytes": "10485760", + "retainedFileCountLimit": 30, + "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" + } + }, + { + "Name": "Http", + "Args": { + //"requestUri": "http://192.168.0.62:5000", + "queueLimitBytes": null + } + } + ] + }, "Kestrel": { "EndPoints": { "Http": { From e9037ca63cbff16fafc811c8519106b378c582b3 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 26 Sep 2022 09:47:56 -0700 Subject: [PATCH 044/101] Ability to switch temporary storage to use either memory or disk (#169) * Ability to switch temporary storage to use either memory or disk * Fix configuration name for temp data storage. * Validate storage configurations based on temp storage location * Log time for a payload to complete end-to-end within the service. * Use disk as default temp storage * Fix unit tests & integration test * Update changelog * Update licenses * Add unit test for Health Check Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/Api/Storage/Payload.cs | 2 + src/Api/Storage/StorageObjectMetadata.cs | 25 ++++++++++-- src/Configuration/ConfigurationValidator.cs | 38 +++++++++++++++++- .../TemporaryDataStorageLocation.cs | 24 +++++++++++ .../Test/ConfigurationValidatorTest.cs | 17 ++++---- src/Database/PayloadConfiguration.cs | 1 + .../Logging/Log.700.PayloadService.cs | 4 +- .../Connectors/DataRetrievalService.cs | 9 +++-- .../PayloadNotificationActionHandler.cs | 2 +- .../Services/DicomWeb/IStreamsWriter.cs | 8 +++- .../Services/Fhir/FhirJsonReader.cs | 11 ++++- .../Services/Fhir/FhirService.cs | 7 +++- .../Services/Fhir/FhirXmlReader.cs | 11 ++++- .../Services/HealthLevel7/MllpService.cs | 5 ++- .../Services/Http/MonaiHealthCheck.cs | 1 - .../Services/Scp/ApplicationEntityHandler.cs | 12 ++++-- .../DicomFileStorageMetadataExtensionsTest.cs | 40 +++++++++++++++++-- .../Connectors/DataRetrievalServiceTest.cs | 4 ++ .../Services/DicomWeb/StreamsWriterTest.cs | 22 +++++----- .../Test/Services/Fhir/FhirServiceTest.cs | 4 ++ .../Storage/ObjectUploadServiceTest.cs | 11 +++-- 21 files changed, 209 insertions(+), 49 deletions(-) create mode 100644 src/Configuration/TemporaryDataStorageLocation.cs diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index d0fcb4e3e..af584bb20 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -66,6 +66,8 @@ public enum PayloadState public bool HasTimedOut { get => ElapsedTime().TotalSeconds >= Timeout; } + public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } + public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } public string CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index 7e17289da..fae88b73a 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.Runtime; using System.Text.Json.Serialization; using Ardalis.GuardClauses; @@ -123,9 +124,27 @@ public void SetUploaded(string bucketName) if (Data is not null && Data.CanSeek) { - Data.Close(); - Data.Dispose(); - Data = null; + if (Data is FileStream fileStream) + { + var filename = fileStream.Name; + Data.Close(); + Data.Dispose(); + Data = null; + System.IO.File.Delete(filename); + } + else // MemoryStream + { + Data.Close(); + Data.Dispose(); + Data = null; + + // When IG stores all received/downloaded data in-memory using MemoryStream, LOH grows tremendously and thus impacts the performance and + // memory usage. The following makes sure LOH is compacted after the data is uploaded. + GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; +#pragma warning disable S1215 // "GC.Collect" should not be called + GC.Collect(); +#pragma warning restore S1215 // "GC.Collect" should not be called + } } } diff --git a/src/Configuration/ConfigurationValidator.cs b/src/Configuration/ConfigurationValidator.cs index bd8c18db2..86d7cb51d 100644 --- a/src/Configuration/ConfigurationValidator.cs +++ b/src/Configuration/ConfigurationValidator.cs @@ -17,6 +17,8 @@ using System; using System.Collections.Generic; +using System.IO; +using System.IO.Abstractions; using System.Text.RegularExpressions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; @@ -29,6 +31,7 @@ namespace Monai.Deploy.InformaticsGateway.Configuration public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfiguration> { private readonly ILogger<ConfigurationValidator> _logger; + private readonly IFileSystem _fileSystem; private readonly List<string> _validationErrors; /// <summary> @@ -36,9 +39,10 @@ public class ConfigurationValidator : IValidateOptions<InformaticsGatewayConfigu /// </summary> /// <param name="configuration">InformaticsGatewayConfiguration to be validated</param> /// <param name="logger">Logger to be used by ConfigurationValidator</param> - public ConfigurationValidator(ILogger<ConfigurationValidator> logger) + public ConfigurationValidator(ILogger<ConfigurationValidator> logger, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _validationErrors = new List<string>(); } @@ -82,6 +86,38 @@ private bool IsStorageValid(StorageConfiguration storage) valid &= IsValueInRange("InformaticsGateway>storage>reserveSpaceGB", 1, 999, storage.ReserveSpaceGB); valid &= IsValueInRange("InformaticsGateway>storage>payloadProcessThreads", 1, 128, storage.PayloadProcessThreads); valid &= IsValueInRange("InformaticsGateway>storage>concurrentUploads", 1, 128, storage.ConcurrentUploads); + valid &= IsValueInRange("InformaticsGateway>storage>memoryThreshold", 1, int.MaxValue, storage.MemoryThreshold); + + if (storage.TemporaryDataStorage == TemporaryDataStorageLocation.Disk) + { + valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); + valid &= IsValidDirectory("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); + valid &= IsValueInRange("InformaticsGateway>storage>bufferSize", 1, int.MaxValue, storage.BufferSize); + } + + return valid; + } + + private bool IsValidDirectory(string source, string directory) + { + var valid = true; + try + { + if (!_fileSystem.Directory.Exists(directory)) + { + valid = false; + _validationErrors.Add($"Directory `{directory}` specified in `{source}` does not exist."); + } + else + { + using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); + } + } + catch (Exception ex) + { + valid = false; + _validationErrors.Add($"Directory `{directory}` specified in `{source}` is not accessible: {ex.Message}."); + } return valid; } diff --git a/src/Configuration/TemporaryDataStorageLocation.cs b/src/Configuration/TemporaryDataStorageLocation.cs new file mode 100644 index 000000000..01fe8305d --- /dev/null +++ b/src/Configuration/TemporaryDataStorageLocation.cs @@ -0,0 +1,24 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Configuration +{ + public enum TemporaryDataStorageLocation + { + Memory, + Disk + } +} diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index e214f45fd..d1fb6375d 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -15,6 +15,8 @@ */ using System; +using System.IO; +using System.IO.Abstractions; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -26,6 +28,7 @@ namespace Monai.Deploy.InformaticsGateway.Configuration.Test public class ConfigurationValidatorTest { private readonly Mock<ILogger<ConfigurationValidator>> _logger; + private readonly Mock<IFileSystem> _fileSystem; public ConfigurationValidatorTest() { @@ -39,7 +42,7 @@ public ConfigurationValidatorTest() public void AllValid() { var config = MockValidConfiguration(); - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); Assert.True(valid == ValidateOptionsResult.Success); } @@ -49,7 +52,7 @@ public void InvalidScpPort() var config = MockValidConfiguration(); config.Dicom.Scp.Port = Int32.MaxValue; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = $"Invalid port number '{Int32.MaxValue}' specified for InformaticsGateway>dicom>scp>port."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -62,7 +65,7 @@ public void InvalidScpMaxAssociations() var config = MockValidConfiguration(); config.Dicom.Scp.MaximumNumberOfAssociations = 0; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = $"Value of InformaticsGateway>dicom>scp>max-associations must be between {1} and {1000}."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -75,7 +78,7 @@ public void StorageWithInvalidWatermark() var config = MockValidConfiguration(); config.Storage.Watermark = 1000; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>watermark must be between 1 and 100."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -88,7 +91,7 @@ public void StorageWithInvalidReservedSpace() var config = MockValidConfiguration(); config.Storage.ReserveSpaceGB = 9999; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>reserveSpaceGB must be between 1 and 999."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -101,7 +104,7 @@ public void StorageWithInvalidTemporaryBucketName() var config = MockValidConfiguration(); config.Storage.TemporaryStorageBucket = " "; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>temporaryBucketName is required.", "Value for InformaticsGateway>storage>temporaryBucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -117,7 +120,7 @@ public void StorageWithInvalidBucketName() var config = MockValidConfiguration(); config.Storage.StorageServiceBucketName = ""; - var valid = new ConfigurationValidator(_logger.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>bucketName is required.", "Value for InformaticsGateway>storage>bucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/PayloadConfiguration.cs index 171b10ac1..b40c9e7c1 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/PayloadConfiguration.cs @@ -57,6 +57,7 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.CalledAeTitle); builder.Ignore(j => j.CallingAeTitle); builder.Ignore(j => j.HasTimedOut); + builder.Ignore(j => j.Elapsed); builder.Ignore(j => j.Count); } } diff --git a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs index 588669efe..5cb9aaa3f 100644 --- a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs +++ b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs @@ -53,8 +53,8 @@ public static partial class Log [LoggerMessage(EventId = 711, Level = LogLevel.Information, Message = "Publishing workflow request message ID={messageId}...")] public static partial void PublishingWorkflowRequest(this ILogger logger, string messageId); - [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}.")] - public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId); + [LoggerMessage(EventId = 712, Level = LogLevel.Information, Message = "Workflow request published to {queue}, message ID={messageId}. Payload took {payloadElapsedTime} to complete.")] + public static partial void WorkflowRequestPublished(this ILogger logger, string queue, string messageId, TimeSpan payloadElapsedTime); [LoggerMessage(EventId = 713, Level = LogLevel.Information, Message = "Restoring payloads from database.")] public static partial void StartupRestoreFromDatabase(this ILogger logger); diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index ea39f5d0b..ada4e956f 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; +using System.IO.Abstractions; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; @@ -55,6 +56,7 @@ internal class DataRetrievalService : IHostedService, IMonaiService, IDisposable private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; private readonly IDicomToolkit _dicomToolkit; + private readonly IFileSystem _fileSystem; private bool _disposedValue; public ServiceStatus Status { get; set; } @@ -77,6 +79,7 @@ public DataRetrievalService( _uploadQueue = _rootScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _rootScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _dicomToolkit = _rootScope.ServiceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); + _fileSystem = _rootScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public Task StartAsync(CancellationToken cancellationToken) @@ -330,7 +333,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - fhirFile.SetDataStream(json); + await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -509,7 +512,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -539,7 +542,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index c45c1cbc4..4a50c3fd7 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -138,7 +138,7 @@ await _messageBrokerPublisherService.Publish( _options.Value.Messaging.Topics.WorkflowRequest, message.ToMessage()).ConfigureAwait(false); - _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId); + _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId, payload.Elapsed); } private async Task<PayloadAction> UpdatePayloadState(Payload payload) diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index 35cf29a15..c09943d4c 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -43,6 +44,7 @@ internal interface IStreamsWriter internal class StreamsWriter : IStreamsWriter { private readonly ILogger<StreamsWriter> _logger; + private readonly IFileSystem _fileSystem; private readonly IObjectUploadQueue _uploadQueue; private readonly IDicomToolkit _dicomToolkit; private readonly IPayloadAssembler _payloadAssembler; @@ -56,13 +58,15 @@ public StreamsWriter( IDicomToolkit dicomToolkit, IPayloadAssembler payloadAssembler, IOptions<InformaticsGatewayConfiguration> configuration, - ILogger<StreamsWriter> logger) + ILogger<StreamsWriter> logger, + IFileSystem fileSystem) { _uploadQueue = fileStore ?? throw new ArgumentNullException(nameof(fileStore)); _dicomToolkit = dicomToolkit ?? throw new ArgumentNullException(nameof(dicomToolkit)); _payloadAssembler = payloadAssembler ?? throw new ArgumentNullException(nameof(payloadAssembler)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _resultDicomDataset = new DicomDataset(); _failureCount = 0; _storedCount = 0; @@ -165,7 +169,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index 9b8ab8b99..2f56dffb5 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text.Json; using System.Text.Json.Nodes; using System.Threading; @@ -23,9 +24,11 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -33,10 +36,14 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirJsonReader : IFHirRequestReader { private readonly ILogger<FhirJsonReader> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; - public FhirJsonReader(ILogger<FhirJsonReader> logger) + public FhirJsonReader(ILogger<FhirJsonReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -68,7 +75,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); - fileMetadata.SetDataStream(result.RawData); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs index 59c3b8cf0..f66dbc830 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirService.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -15,6 +15,7 @@ */ using System; +using System.IO.Abstractions; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -41,6 +42,7 @@ internal class FhirService : IFhirService private readonly ILogger<FhirService> _logger; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; + private readonly IFileSystem _fileSystem; public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<InformaticsGatewayConfiguration> configuration) { @@ -51,6 +53,7 @@ public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic _logger = scope.ServiceProvider.GetService<ILogger<FhirService>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirService>)); _payloadAssembler = scope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); + _fileSystem = scope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) @@ -100,13 +103,13 @@ private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeader if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirJsonReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirJsonReader>)); - return new FhirJsonReader(logger); + return new FhirJsonReader(logger, _configuration, _fileSystem); } if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase)) { var logger = scope.ServiceProvider.GetService<ILogger<FhirXmlReader>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirXmlReader>)); - return new FhirXmlReader(logger); + return new FhirXmlReader(logger, _configuration, _fileSystem); } throw new UnsupportedContentTypeException($"Media type of '{mediaTypeHeaderValue.MediaType}' is not supported."); diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index 07610c6b2..2d975db8a 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -23,9 +24,11 @@ using Ardalis.GuardClauses; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Fhir @@ -33,10 +36,14 @@ namespace Monai.Deploy.InformaticsGateway.Services.Fhir internal class FhirXmlReader : IFHirRequestReader { private readonly ILogger<FhirXmlReader> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IFileSystem _fileSystem; - public FhirXmlReader(ILogger<FhirXmlReader> logger) + public FhirXmlReader(ILogger<FhirXmlReader> logger, IOptions<InformaticsGatewayConfiguration> options, IFileSystem fileSystem) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); } public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) @@ -80,7 +87,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.InternalResourceType = rootNode.Name; var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); - fileMetadata.SetDataStream(result.RawData); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index 3ba770ffd..ba657f8b2 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.IO.Abstractions; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -43,6 +44,7 @@ internal sealed class MllpService : IHostedService, IDisposable, IMonaiService private readonly IMllpClientFactory _mllpClientFactory; private readonly IObjectUploadQueue _uploadQueue; private readonly IPayloadAssembler _payloadAssembler; + private readonly IFileSystem _fileSystem; private readonly IServiceScope _serviceScope; private readonly ILoggerFactory _logginFactory; private readonly ILogger<MllpService> _logger; @@ -79,6 +81,7 @@ public MllpService(IServiceScopeFactory serviceScopeFactory, _mllpClientFactory = _serviceScope.ServiceProvider.GetService<IMllpClientFactory>() ?? throw new ServiceNotFoundException(nameof(IMllpClientFactory)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); + _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); _activeTasks = new ConcurrentDictionary<Guid, IMllpClient>(); } @@ -158,7 +161,7 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - hl7Fileetadata.SetDataStream(message.HL7Message); + await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs index d4ae19334..007995a2f 100644 --- a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs +++ b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs @@ -16,7 +16,6 @@ using System; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Diagnostics.HealthChecks; diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index 46bec278e..a856c09fd 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -15,12 +15,14 @@ */ using System; +using System.IO.Abstractions; using System.Linq; using System.Threading.Tasks; using Ardalis.GuardClauses; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; @@ -34,11 +36,12 @@ namespace Monai.Deploy.InformaticsGateway.Services.Scp internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler { private readonly ILogger<ApplicationEntityHandler> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly IServiceScope _serviceScope; private readonly IPayloadAssembler _payloadAssembler; private readonly IObjectUploadQueue _uploadQueue; - + private readonly IFileSystem _fileSystem; private MonaiApplicationEntity _configuration; private DicomJsonOptions _dicomJsonOptions; private bool _validateDicomValueOnJsonSerialization; @@ -46,14 +49,17 @@ internal class ApplicationEntityHandler : IDisposable, IApplicationEntityHandler public ApplicationEntityHandler( IServiceScopeFactory serviceScopeFactory, - ILogger<ApplicationEntityHandler> logger) + ILogger<ApplicationEntityHandler> logger, + IOptions<InformaticsGatewayConfiguration> options) { Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); _serviceScope = serviceScopeFactory.CreateScope(); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); + _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); } public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) @@ -95,7 +101,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization)).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index 3f389a152..a572279f4 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions.TestingHelpers; using System.Text; using System.Threading.Tasks; using FellowOakDicom; @@ -31,7 +32,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Common public class DicomFileStorageMetadataExtensionsTest { [Fact] - public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_ExpectDataStreamsAreSet() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithInMemoryStore_ExpectDataStreamsAreSet() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -42,7 +43,7 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe var dicom = InstanceGenerator.GenerateDicomFile(); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); @@ -59,7 +60,38 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalled_Expe } [Fact] - public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() + public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithDiskStore_ExpectDataStreamsAreSet() + { + var fileSystem = new MockFileSystem(); + fileSystem.AddDirectory("/temp"); + + var metadata = new DicomFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var dicom = InstanceGenerator.GenerateDicomFile(); + var json = dicom.ToJson(DicomJsonOptions.Complete, false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Disk, fileSystem, "/temp").ConfigureAwait(false); + + Assert.NotNull(metadata.File.Data); + Assert.NotNull(metadata.JsonFile.Data); + + var ms = new MemoryStream(); + await dicom.SaveAsync(ms).ConfigureAwait(false); + Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); + + var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); + Assert.Equal(json.Trim(), jsonFromStream.Trim()); + + var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); + Assert.Equal(dicom.Dataset, dicomFileFromJson); + } + + [Fact] + public void GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataStreamsIsCalledWithValidation_ThrowsFormatException() { var metadata = new DicomFileStorageMetadata( Guid.NewGuid().ToString(), @@ -94,7 +126,7 @@ public async Task GivenADicomFileStorageMetadataWithInvalidDSValue_WhenSetDataSt dicom.Dataset.Add(DicomTag.PixelSpacing, "0.68300002813334234392234", "0.2354257587243524352345"); var json = dicom.ToJson(DicomJsonOptions.Complete, false); - await metadata.SetDataStreams(dicom, json).ConfigureAwait(false); + await metadata.SetDataStreams(dicom, json, TemporaryDataStorageLocation.Memory).ConfigureAwait(false); Assert.NotNull(metadata.File.Data); Assert.NotNull(metadata.JsonFile.Data); diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index 074a3f619..39ab94464 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions; using System.Net.Http; using System.Net.Http.Headers; using System.Text.Json; @@ -54,6 +55,7 @@ public class DataRetrievalServiceTest private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IDicomToolkit> _dicomToolkit; + private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IInferenceRequestRepository> _inferenceRequestStore; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; @@ -74,6 +76,7 @@ public DataRetrievalServiceTest() _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _uploadQueue = new Mock<IObjectUploadQueue>(); _dicomToolkit = new Mock<IDicomToolkit>(); + _fileSystem = new Mock<IFileSystem>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _serviceScope = new Mock<IServiceScope>(); @@ -90,6 +93,7 @@ public DataRetrievalServiceTest() services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _dicomToolkit.Object); services.AddScoped(p => _inferenceRequestStore.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); diff --git a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs index c6295fc2f..451d0633d 100644 --- a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs +++ b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.IO.Abstractions.TestingHelpers; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -38,6 +39,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.DicomWeb public class StreamsWriterTest { private readonly Mock<ILogger<StreamsWriter>> _logger; + private readonly MockFileSystem _fileSystem; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IPayloadAssembler> _payloadAssembler; @@ -50,17 +52,19 @@ public StreamsWriterTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _configuration = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<StreamsWriter>>(); + _fileSystem = new MockFileSystem(); } [Fact] public void GivenAStreamsWriter_WhenInitialized_ExpectParametersToBeValidated() { - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null)); - Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null)); - var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(null, null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, null, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, null, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, null, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, null, null)); + Assert.Throws<ArgumentNullException>(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, null)); + var exception = Record.Exception(() => new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem)); Assert.Null(exception); } @@ -72,7 +76,7 @@ public async Task GivenAHttpStream_WhenFailedToOpenAsDicomInstance_ExpectStatus4 .Throws(new Exception("error")); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var streams = GenerateDicomStreams(studyInstanceUid); var result = await writer.Save( @@ -94,7 +98,7 @@ public async Task GivingADicomInstanceWithoutAMatchingStudyInstanceUid_WhenSavei _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); @@ -132,7 +136,7 @@ public async Task GivingAValidDicomInstance_WhenSaveingInstance_ExpectInstanceTo _payloadAssembler.Setup(p => p.Queue(It.IsAny<string>(), It.IsAny<DicomFileStorageMetadata>(), It.IsAny<uint>())); var studyInstanceUid = DicomUIDGenerator.GenerateDerivedFromUUID().UID; - var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object); + var writer = new StreamsWriter(_uploadQueue.Object, _dicomToolkit.Object, _payloadAssembler.Object, _configuration, _logger.Object, _fileSystem); var correlationId = Guid.NewGuid().ToString(); var streams = GenerateDicomStreams(studyInstanceUid); diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index 62ab3e7a0..95d61d121 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -16,6 +16,7 @@ using System; using System.IO; +using System.IO.Abstractions; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -43,6 +44,7 @@ public class FhirServiceTest private readonly Mock<ILogger<FhirService>> _logger; private readonly Mock<ILogger<FhirJsonReader>> _loggerJson; private readonly Mock<ILogger<FhirXmlReader>> _loggerXml; + private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; @@ -62,6 +64,7 @@ public FhirServiceTest() _logger = new Mock<ILogger<FhirService>>(); _loggerJson = new Mock<ILogger<FhirJsonReader>>(); _loggerXml = new Mock<ILogger<FhirXmlReader>>(); + _fileSystem = new Mock<IFileSystem>(); _httpRequest = new Mock<HttpRequest>(); @@ -73,6 +76,7 @@ public FhirServiceTest() services.AddScoped(p => _loggerXml.Object); services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); + services.AddScoped(p => _fileSystem.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index 5a7e445c3..d844eaec8 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -45,7 +45,6 @@ public class ObjectUploadServiceTest private readonly IObjectUploadQueue _uploadQueue; private readonly Mock<IStorageService> _storageService; private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; - private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; @@ -124,7 +123,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi } [Fact] - public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() + public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); _storageService.Setup(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>())) @@ -137,7 +136,7 @@ public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileTo Assert.Equal(ServiceStatus.Running, svc.Status); - var file = GenerateFhirFileStorageMetadata(); + var file = await GenerateFhirFileStorageMetadata(); _uploadQueue.Queue(file); Assert.True(countdownEvent.Wait(TimeSpan.FromSeconds(3))); @@ -145,11 +144,11 @@ public void GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileTo _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Once()); } - private FhirFileStorageMetadata GenerateFhirFileStorageMetadata() + private async Task<FhirFileStorageMetadata> GenerateFhirFileStorageMetadata() { var file = new FhirFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), FhirStorageFormat.Json); - file.SetDataStream("[]"); + await file.SetDataStream("[]", TemporaryDataStorageLocation.Memory); return file; } @@ -169,7 +168,7 @@ private async Task<DicomFileStorageMetadata> GenerateDicomFileStorageMetadata() { DicomTag.SOPClassUID, DicomUID.SecondaryCaptureImageStorage.UID } }; var dicomFile = new DicomFile(dataset); - await file.SetDataStreams(dicomFile, "[]"); + await file.SetDataStreams(dicomFile, "[]", TemporaryDataStorageLocation.Memory); return file; } } From fe56acac7ccc053e08f4c42752f1dbebbf83b631 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 26 Sep 2022 11:24:23 -0700 Subject: [PATCH 045/101] Revert "rebased changes (#170)" (#177) This reverts commit 148c1e43de1d618894a4ef55ec5a0a0e20623c14. --- .../Monai.Deploy.InformaticsGateway.csproj | 7 +--- src/InformaticsGateway/Program.cs | 19 ---------- src/InformaticsGateway/appsettings.json | 37 ++++++++----------- 3 files changed, 16 insertions(+), 47 deletions(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 721b48f32..7a31a6b38 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -51,12 +51,7 @@ <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> - <PackageReference Include="Serilog.Enrichers.Environment" Version="2.2.0" /> - <PackageReference Include="Serilog.Exceptions" Version="8.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> - <PackageReference Include="Serilog.AspNetCore" Version="6.0.1" /> - <PackageReference Include="Serilog.Sinks.Http" Version="8.0.0" /> - <PackageReference Include="Elastic.CommonSchema.Serilog" Version="1.5.3" /> </ItemGroup> <ItemGroup> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 133eaa102..84f7594c8 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -17,9 +17,7 @@ using System; using System.IO; using System.IO.Abstractions; -using System.Reflection; using Ardalis.GuardClauses; -using Elastic.CommonSchema.Serilog; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -45,9 +43,6 @@ using Monai.Deploy.Messaging.Configuration; using Monai.Deploy.Storage; using Monai.Deploy.Storage.Configuration; -using Serilog; -using Serilog.Events; -using Serilog.Exceptions; namespace Monai.Deploy.InformaticsGateway { @@ -92,20 +87,6 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => configureLogging.AddConfiguration(builderContext.Configuration.GetSection("Logging")); configureLogging.AddFile(o => o.RootPath = AppContext.BaseDirectory); }) - .UseSerilog((context, services, configuration) => configuration - .ReadFrom.Configuration(context.Configuration) - .ReadFrom.Services(services) - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .MinimumLevel.Debug() - .Enrich.FromLogContext() - .Enrich.WithExceptionDetails() - .Enrich.WithProperty("dllversion", Assembly.GetEntryAssembly().GetName().Version) - .Enrich.WithProperty("dllName", Assembly.GetEntryAssembly().GetName().Name) - .WriteTo.File( - path: "logs/MWM-.log", - rollingInterval: RollingInterval.Day, - formatter: new EcsTextFormatter()) - .WriteTo.Console()) .ConfigureServices((hostContext, services) => { services.AddOptions<InformaticsGatewayConfiguration>() diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 7994f64b7..78bdfd272 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -81,29 +81,22 @@ "TimestampFormat": " HH:mm:ss ", "UseUtcTimestamp": true } - } - }, - "Serilog": { - "WriteTo": [ - { - "Name": "File", - "Args": { - "path": "logs/MTM-.log", - "rollingInterval": "Day", - "rollOnFileSizeLimit": true, - "fileSizeLimitBytes": "10485760", - "retainedFileCountLimit": 30, - "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" - } - }, - { - "Name": "Http", - "Args": { - //"requestUri": "http://192.168.0.62:5000", - "queueLimitBytes": null + }, + "File": { + "BasePath": "logs", + "FileEncodingName": "utf-8", + "DateFormat": "yyyyMMdd", + "CounterFormat": "000", + "MaxFileSize": 10485760, + "IncludeScopes": true, + "MaxQueueSize": 100, + "TextBuilderType": "Monai.Deploy.InformaticsGateway.Logging.FileLoggingTextFormatter, Monai.Deploy.InformaticsGateway", + "Files": [ + { + "Path": "MIG-<date>-<counter>.log" } - } - ] + ] + } }, "Kestrel": { "EndPoints": { From 47f4decef0ccb1781b95bc7ad46d0906639ef894 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 28 Sep 2022 18:58:10 -0700 Subject: [PATCH 046/101] Create AE/src/dest APIs to return 409 if entity already exists (#182) * gh-180 Config AE/src/dst APIs to return 409 if entity already exists * Fix integration tests. Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .licenserc.yaml | 2 + doc/dependency_decisions.yml | 50 +++------------- docs/api/rest/config.md | 3 + docs/compliance/third-party-licenses.md | 32 +++++----- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- ...formaticsGateway.Client.Common.Test.csproj | 2 +- ...ploy.InformaticsGateway.Client.Test.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 2 +- ...formaticsGateway.Configuration.Test.csproj | 2 +- ...oy.InformaticsGateway.Database.Test.csproj | 2 +- ...rmaticsGateway.DicomWeb.Client.Test.csproj | 2 +- .../Common/ObjectExistsException.cs | 42 ++++++++++++++ .../Http/DestinationAeTitleController.cs | 14 +++-- .../Services/Http/MonaiAeTitleController.cs | 10 +++- .../Services/Http/SourceAeTitleController.cs | 10 +++- ...onai.Deploy.InformaticsGateway.Test.csproj | 2 +- .../Http/DestinationAeTitleControllerTest.cs | 31 +++++++++- .../Http/MonaiAeTitleControllerTest.cs | 58 ++++++++++--------- .../Http/SourceAeTitleControllerTest.cs | 26 +++++++++ tests/Integration.Test/.env.dev | 2 +- ...InformaticsGateway.Integration.Test.csproj | 2 +- .../DicomDimseScpServicesStepDefinitions.cs | 4 +- .../ExportServicesStepDefinitions.cs | 2 +- .../HealthLevel7Definitions.cs | 15 +++++ 25 files changed, 210 insertions(+), 111 deletions(-) create mode 100644 src/InformaticsGateway/Common/ObjectExistsException.cs diff --git a/.licenserc.yaml b/.licenserc.yaml index 95673c304..4f33664ed 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -32,9 +32,11 @@ header: - 'src/Monai.Deploy.InformaticsGateway.sln' - 'src/Database/Migrations/**' - 'demos/**/.env/**' + - 'demos/**/*.txt' - 'docs/templates/**' - 'tests/Integration.Test/*.dev' - 'tests/Integration.Test/data/**' + - 'guidelines/diagrams/*.txt' comment: on-failure diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index fab91b547..247a1b048 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -336,21 +336,9 @@ :why: MIT (https://github.com/microsoft/vstest/raw/main/LICENSE) :versions: - 17.1.0 - :when: 2022-08-16 23:05:48.342748414 Z -- - :approve - - Microsoft.CodeCoverage - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/main/LICENSE) - :versions: - 17.2.0 - :when: 2022-08-16 23:05:48.787754812 Z -- - :approve - - Microsoft.CodeCoverage - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/main/LICENSE) - :versions: - - 17.3.1 - :when: 2022-09-01 23:05:49.229587689 Z + - 17.3.2 + :when: 2022-08-16 23:05:48.342748414 Z - - :approve - Microsoft.Data.Sqlite.Core - :who: mocsharp @@ -725,7 +713,7 @@ - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) :versions: - - 17.3.1 + - 17.3.2 :when: 2022-09-01 23:06:13.008314524 Z - - :approve - Microsoft.NETCore.Platforms @@ -775,42 +763,18 @@ :why: MIT (https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) :versions: - 17.1.0 - :when: 2022-08-16 23:06:16.175705981 Z -- - :approve - - Microsoft.TestPlatform.ObjectModel - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.2.0/LICENSE) - :versions: - 17.2.0 - :when: 2022-08-16 23:06:16.642573372 Z -- - :approve - - Microsoft.TestPlatform.ObjectModel - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) - :versions: - - 17.3.1 - :when: 2022-09-01 23:06:17.198633634 Z + - 17.3.2 + :when: 2022-08-16 23:06:16.175705981 Z - - :approve - Microsoft.TestPlatform.TestHost - :who: mocsharp :why: MIT (https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) :versions: - 17.1.0 - :when: 2022-08-16 23:06:17.671459450 Z -- - :approve - - Microsoft.TestPlatform.TestHost - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.2.0/LICENSE) - :versions: - 17.2.0 - :when: 2022-08-16 23:06:18.130472318 Z -- - :approve - - Microsoft.TestPlatform.TestHost - - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) - :versions: - - 17.3.1 - :when: 2022-09-01 23:06:18.619013325 Z + - 17.3.2 + :when: 2022-08-16 23:06:17.671459450 Z - - :approve - Microsoft.Toolkit.HighPerformance - :who: mocsharp diff --git a/docs/api/rest/config.md b/docs/api/rest/config.md index 4c3961290..4d719cada 100644 --- a/docs/api/rest/config.md +++ b/docs/api/rest/config.md @@ -34,6 +34,7 @@ Response Content Type: JSON - Array of [MonaiApplicationEntity](xref:Monai.Deplo | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 200 | AE Titles retrieved successfully. | | 404 | AE Title not found. | +| 409 | Entity already exists with the same name or AE Title. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -136,6 +137,7 @@ Response Content Type: JSON - [MonaiApplicationEntity](xref:Monai.Deploy.Informa | ---- | ------------------------------------------------------------------------------------------------------------------------------------------- | | 201 | AE Title created successfully. | | 400 | Validation error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | +| 409 | Entity already exists with the same name or entity already exists with the same AE Title and port combination. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -301,6 +303,7 @@ Response Content Type: JSON - [SourceApplicationEntity](xref:Monai.Deploy.Inform | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 201 | AE Title created successfully. | | 400 | Validation error. | +| 409 | Entity already exists with the same name or entity already exists with the same AE Title, host/IP address and port combination. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index f390f291f..b1f8daa85 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -3014,15 +3014,15 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.3.1</summary> +<summary>Microsoft.CodeCoverage 17.3.2</summary> ## Microsoft.CodeCoverage -- Version: 17.3.1 +- Version: 17.3.2 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.3.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.3.2) - License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) @@ -5595,15 +5595,15 @@ SOFTWARE. <details> -<summary>Microsoft.NET.Test.Sdk 17.3.1</summary> +<summary>Microsoft.NET.Test.Sdk 17.3.2</summary> ## Microsoft.NET.Test.Sdk -- Version: 17.3.1 +- Version: 17.3.2 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.2) - License: [MIT](https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) @@ -6394,7 +6394,7 @@ SOFTWARE. - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ - Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.2.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.2.0/LICENSE) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) ``` @@ -6423,16 +6423,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.ObjectModel 17.3.1</summary> +<summary>Microsoft.TestPlatform.ObjectModel 17.3.2</summary> ## Microsoft.TestPlatform.ObjectModel -- Version: 17.3.1 +- Version: 17.3.2 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.3.1) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.3.2) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) ``` @@ -6508,7 +6508,7 @@ SOFTWARE. - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ - Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.2.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.2.0/LICENSE) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) ``` @@ -6537,16 +6537,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.TestHost 17.3.1</summary> +<summary>Microsoft.TestPlatform.TestHost 17.3.2</summary> ## Microsoft.TestPlatform.TestHost -- Version: 17.3.1 +- Version: 17.3.2 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.3.1) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.3.1/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.3.2) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) ``` diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 9d12f69b6..840bb1029 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index c2bff8baf..bb2246982 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index 4f85075e7..2f8ab6bf5 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index 4759034f1..59b8eeb46 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 39e3bee21..b9dae80db 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -28,7 +28,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index b1f54fb8e..574ee3390 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -33,7 +33,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj index 11cfc06af..2f18a2c23 100644 --- a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj +++ b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj @@ -25,7 +25,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index 4bd7266fc..abc90f95a 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Common/ObjectExistsException.cs b/src/InformaticsGateway/Common/ObjectExistsException.cs new file mode 100644 index 000000000..7014ad856 --- /dev/null +++ b/src/InformaticsGateway/Common/ObjectExistsException.cs @@ -0,0 +1,42 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2020 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Runtime.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Common +{ + [Serializable] + internal class ObjectExistsException : Exception + { + public ObjectExistsException() + { + } + + public ObjectExistsException(string message) : base(message) + { + } + + public ObjectExistsException(string message, Exception innerException) : base(message, innerException) + { + } + + protected ObjectExistsException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} \ No newline at end of file diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index 951627ab7..fbc2ba8e8 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -23,6 +23,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; @@ -90,6 +91,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> GetAeTitle(string [Consumes(MediaTypeNames.Application.Json)] [ProducesResponseType(StatusCodes.Status201Created)] [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status409Conflict)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [Produces("application/json")] public async Task<ActionResult<string>> Create(DestinationApplicationEntity item) @@ -105,14 +107,18 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item _logger.DestinationApplicationEntityAdded(item.AeTitle, item.HostIp); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); } + catch (ObjectExistsException ex) + { + return Problem(title: "DICOM destination already exists", statusCode: (int)System.Net.HttpStatusCode.Conflict, detail: ex.Message); + } catch (ConfigurationException ex) { - return Problem(title: "Validation error.", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); + return Problem(title: "Validation error", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); } catch (Exception ex) { _logger.ErrorAddingDestinationApplicationEntity(ex); - return Problem(title: "Error adding new DICOM destination.", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); + return Problem(title: "Error adding new DICOM destination", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); } } @@ -148,11 +154,11 @@ private void Validate(DestinationApplicationEntity item) { if (_repository.Any(p => p.Name.Equals(item.Name))) { - throw new ConfigurationException($"A DICOM destination with the same name '{item.Name}' already exists."); + throw new ObjectExistsException($"A DICOM destination with the same name '{item.Name}' already exists."); } if (_repository.Any(p => p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port))) { - throw new ConfigurationException($"A DICOM destination with the same AE Title '{item.AeTitle}', host/IP Address '{item.HostIp}' and port '{item.Port}' already exists."); + throw new ObjectExistsException($"A DICOM destination with the same AE Title '{item.AeTitle}', host/IP Address '{item.HostIp}' and port '{item.Port}' already exists."); } if (!item.IsValid(out var validationErrors)) { diff --git a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs index b607600dd..bc715d111 100644 --- a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs @@ -24,6 +24,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; @@ -96,6 +97,7 @@ public async Task<ActionResult<MonaiApplicationEntity>> GetAeTitle(string name) [Consumes(MediaTypeNames.Application.Json)] [ProducesResponseType(StatusCodes.Status201Created)] [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status409Conflict)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [Produces("application/json")] public async Task<ActionResult<MonaiApplicationEntity>> Create(MonaiApplicationEntity item) @@ -112,6 +114,10 @@ public async Task<ActionResult<MonaiApplicationEntity>> Create(MonaiApplicationE _logger.MonaiApplicationEntityAdded(item.AeTitle); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); } + catch (ObjectExistsException ex) + { + return Problem(title: "AE Title already exists", statusCode: (int)System.Net.HttpStatusCode.Conflict, detail: ex.Message); + } catch (ConfigurationException ex) { return Problem(title: "Validation error.", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); @@ -158,11 +164,11 @@ private void Validate(MonaiApplicationEntity item) if (_repository.Any(p => p.Name.Equals(item.Name))) { - throw new ConfigurationException($"A MONAI Application Entity with the same name '{item.Name}' already exists."); + throw new ObjectExistsException($"A MONAI Application Entity with the same name '{item.Name}' already exists."); } if (_repository.Any(p => p.AeTitle.Equals(item.AeTitle))) { - throw new ConfigurationException($"A MONAI Application Entity with the same AE Title '{item.AeTitle}' already exists."); + throw new ObjectExistsException($"A MONAI Application Entity with the same AE Title '{item.AeTitle}' already exists."); } if (item.IgnoredSopClasses.Any() && item.AllowedSopClasses.Any()) { diff --git a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs index dd9d417bb..e8c18250d 100644 --- a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs @@ -23,6 +23,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; @@ -91,6 +92,7 @@ public async Task<ActionResult<SourceApplicationEntity>> GetAeTitle(string name) [Consumes(MediaTypeNames.Application.Json)] [ProducesResponseType(StatusCodes.Status201Created)] [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status409Conflict)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [Produces("application/json")] public async Task<ActionResult<string>> Create(SourceApplicationEntity item) @@ -105,6 +107,10 @@ public async Task<ActionResult<string>> Create(SourceApplicationEntity item) _logger.SourceApplicationEntityAdded(item.AeTitle, item.HostIp); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); } + catch (ObjectExistsException ex) + { + return Problem(title: "DICOM source already exists", statusCode: (int)System.Net.HttpStatusCode.Conflict, detail: ex.Message); + } catch (ConfigurationException ex) { return Problem(title: "Validation error.", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); @@ -148,11 +154,11 @@ private void Validate(SourceApplicationEntity item) { if (_repository.Any(p => p.Name.Equals(item.Name))) { - throw new ConfigurationException($"A DICOM source with the same name '{item.Name}' already exists."); + throw new ObjectExistsException($"A DICOM source with the same name '{item.Name}' already exists."); } if (_repository.Any(p => item.AeTitle.Equals(p.AeTitle) && item.HostIp.Equals(p.HostIp))) { - throw new ConfigurationException($"A DICOM source with the same AE Title '{item.AeTitle}' and host/IP address '{item.HostIp}' already exists."); + throw new ObjectExistsException($"A DICOM source with the same AE Title '{item.AeTitle}' and host/IP address '{item.HostIp}' already exists."); } if (!item.IsValid(out var validationErrors)) { diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index b2a502ad6..9ea5297af 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -36,7 +36,7 @@ </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.9" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index 93dafae97..3c0911189 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -192,11 +192,38 @@ public async Task Create_ShallReturnBadRequestWithBadJobProcessType() Assert.NotNull(objectResult); var problem = objectResult.Value as ProblemDetails; Assert.NotNull(problem); - Assert.Equal("Validation error.", problem.Title); + Assert.Equal("Validation error", problem.Title); Assert.Equal($"'{aeTitle}' is not a valid AE Title (source: DestinationApplicationEntity).", problem.Detail); Assert.Equal((int)HttpStatusCode.BadRequest, problem.Status); } + [RetryFact(5, 250, DisplayName = "Create - Shall return Conflict if entity already exists")] + public async Task Create_ShallReturnConflictIfEntityAlreadyExists() + { + var aeTitle = "AET"; + var aeTitles = new DestinationApplicationEntity + { + Name = aeTitle, + AeTitle = aeTitle, + HostIp = "host", + Port = 1 + }; + + _repository.Setup(p => p.Any(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(true); + + var result = await _controller.Create(aeTitles); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("DICOM destination already exists", problem.Title); + Assert.Equal("A DICOM destination with the same name 'AET' already exists.", problem.Detail); + Assert.Equal((int)HttpStatusCode.Conflict, problem.Status); + + _repository.Verify(p => p.AddAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Never()); + } + [RetryFact(5, 250, DisplayName = "Create - Shall return problem if failed to add")] public async Task Create_ShallReturnBadRequestOnAddFailure() { @@ -217,7 +244,7 @@ public async Task Create_ShallReturnBadRequestOnAddFailure() Assert.NotNull(objectResult); var problem = objectResult.Value as ProblemDetails; Assert.NotNull(problem); - Assert.Equal("Error adding new DICOM destination.", problem.Title); + Assert.Equal("Error adding new DICOM destination", problem.Title); Assert.Equal($"error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs index 5ed6b4948..27ad11f6d 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs @@ -17,9 +17,11 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Net; using System.Threading; using System.Threading.Tasks; +using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Infrastructure; @@ -177,28 +179,38 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() #endregion GetAeTitle #region Create - - [RetryTheory(DisplayName = "Create - Shall return BadRequest when validation fails")] - [InlineData("AeTitleIsTooooooLooooong", "'AeTitleIsTooooooLooooong' is not a valid AE Title (source: MonaiApplicationEntity).")] - [InlineData("AET1", "A MONAI Application Entity with the same name 'AET1' already exists.")] - public async Task Create_ShallReturnBadRequestOnValidationFailure(string aeTitle, string errorMessage) + [Fact(DisplayName = "Create - Shall return Conflict if entity already exists")] + public async Task Create_ShallReturnConflictIfIEntityAlreadyExists() { - var data = new List<MonaiApplicationEntity>(); - for (var i = 1; i <= 3; i++) + _repository.Setup(p => p.Any(It.IsAny<Func<MonaiApplicationEntity, bool>>())).Returns(true); + + var monaiAeTitle = new MonaiApplicationEntity { - data.Add(new MonaiApplicationEntity() - { - AeTitle = $"AET{i}", - Name = $"AET{i}", - Workflows = new List<string> { "A", "B" } - }); - } - _repository.Setup(p => p.Any(It.IsAny<Func<MonaiApplicationEntity, bool>>())).Returns(aeTitle == "AET1"); + Name = "AET1", + AeTitle = "AET1", + Workflows = new List<string> { "A", "B" } + }; + var result = await _controller.Create(monaiAeTitle); + + Assert.NotNull(result); + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("AE Title already exists", problem.Title); + Assert.Equal("A MONAI Application Entity with the same name 'AET1' already exists.", problem.Detail); + Assert.Equal((int)HttpStatusCode.Conflict, problem.Status); + + } + + [Fact(DisplayName = "Create - Shall return BadRequest when validation fails")] + public async Task Create_ShallReturnBadRequestOnValidationFailure() + { var monaiAeTitle = new MonaiApplicationEntity { - Name = aeTitle, - AeTitle = aeTitle, + Name = "AeTitleIsTooooooLooooong", + AeTitle = "AeTitleIsTooooooLooooong", Workflows = new List<string> { "A", "B" } }; @@ -210,23 +222,13 @@ public async Task Create_ShallReturnBadRequestOnValidationFailure(string aeTitle var problem = objectResult.Value as ProblemDetails; Assert.NotNull(problem); Assert.Equal("Validation error.", problem.Title); - Assert.Equal(errorMessage, problem.Detail); + Assert.Equal("'AeTitleIsTooooooLooooong' is not a valid AE Title (source: MonaiApplicationEntity).", problem.Detail); Assert.Equal((int)HttpStatusCode.BadRequest, problem.Status); } [RetryFact(DisplayName = "Create - Shall return BadRequest when both allowed & ignored SOP classes are defined")] public async Task Create_ShallReturnBadRequestWhenBothAllowedAndIgnoredSopsAreDefined() { - var data = new List<MonaiApplicationEntity>(); - for (var i = 1; i <= 3; i++) - { - data.Add(new MonaiApplicationEntity() - { - AeTitle = $"AET{i}", - Name = $"AET{i}", - Workflows = new List<string> { "A", "B" } - }); - } _repository.Setup(p => p.Any(It.IsAny<Func<MonaiApplicationEntity, bool>>())).Returns(false); var monaiAeTitle = new MonaiApplicationEntity diff --git a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs index 601fdd2b8..17876f2db 100644 --- a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs @@ -195,6 +195,32 @@ public async Task Create_ShallReturnBadRequestWithBadJobProcessType() Assert.Equal((int)HttpStatusCode.BadRequest, problem.Status); } + [RetryFact(5, 250, DisplayName = "Create - Shall return conflict if entity already exists")] + public async Task Create_ShallReturnConflictIfEntityAlreadyExists() + { + var aeTitle = "AET"; + var aeTitles = new SourceApplicationEntity + { + AeTitle = aeTitle, + HostIp = "host", + Name = aeTitle, + }; + + _repository.Setup(p => p.Any(It.IsAny<Func<SourceApplicationEntity, bool>>())).Returns(true); + + var result = await _controller.Create(aeTitles); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("DICOM source already exists", problem.Title); + Assert.Equal("A DICOM source with the same name 'AET' already exists.", problem.Detail); + Assert.Equal((int)HttpStatusCode.Conflict, problem.Status); + + _repository.Verify(p => p.AddAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Never()); + } + [RetryFact(5, 250, DisplayName = "Create - Shall return problem if failed to add")] public async Task Create_ShallReturnBadRequestOnAddFailure() { diff --git a/tests/Integration.Test/.env.dev b/tests/Integration.Test/.env.dev index 7afe34ad4..d84fa52c6 100644 --- a/tests/Integration.Test/.env.dev +++ b/tests/Integration.Test/.env.dev @@ -1 +1 @@ -TAG=0.3.0 +TAG=0.3.2 diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 48c0ec7eb..e794d68b9 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -31,7 +31,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Minio" Version="4.0.5" /> <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.5" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> diff --git a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs index 2a388cf1f..b2fa63edf 100644 --- a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs @@ -76,7 +76,7 @@ await _informaticsGatewayClient.DicomSources.Create(new SourceApplicationEntity } catch (ProblemException ex) { - if (ex.ProblemDetails.Status == (int)HttpStatusCode.BadRequest && + if (ex.ProblemDetails.Status == (int)HttpStatusCode.Conflict && ex.ProblemDetails.Detail.Contains("already exists")) { await _informaticsGatewayClient.DicomSources.GetAeTitle(callingAeTitle, CancellationToken.None); @@ -128,7 +128,7 @@ public async Task GivenACalledAETitleNamedThatGroupsByForSeconds(string calledAe } catch (ProblemException ex) { - if (ex.ProblemDetails.Status == (int)HttpStatusCode.BadRequest && + if (ex.ProblemDetails.Status == (int)HttpStatusCode.Conflict && ex.ProblemDetails.Detail.Contains("already exists")) { _scenarioContext[SharedDefinitions.KeyCalledAet] = await _informaticsGatewayClient.MonaiScpAeTitle.GetAeTitle(calledAeTitle, CancellationToken.None); diff --git a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs index 781f0d30a..fb9d8db72 100644 --- a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs @@ -87,7 +87,7 @@ public async Task GivenADicomScpWithAET() } catch (ProblemException ex) { - if (ex.ProblemDetails.Status == (int)HttpStatusCode.BadRequest && ex.ProblemDetails.Detail.Contains("already exists")) + if (ex.ProblemDetails.Status == (int)HttpStatusCode.Conflict && ex.ProblemDetails.Detail.Contains("already exists")) { destination = await _informaticsGatewayClient.DicomDestinations.GetAeTitle(ScpHooks.FeatureScpAeTitle, CancellationToken.None); } diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index 0d574c035..0020dab7b 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -195,6 +195,21 @@ public async Task ThenMessageAreUploadedToStorageService() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + var listOjbectsArgs = new ListObjectsArgs() + .WithBucket(request.Bucket) + .WithPrefix(request.PayloadId.ToString()) + .WithRecursive(true); + var results = minioClient.ListObjectsAsync(listOjbectsArgs); + results.Subscribe(item => + { + _outputHelper.WriteLine($"File => {item.Key}..."); + }, + exception => + { + _outputHelper.WriteLine($"Error listing files {exception.Message}"); + + }); + foreach (var file in request.Payload) { var retryCount = 0; From 2a841ac360ff3754ff4a2cccea5ece4c7b8a95db Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 30 Sep 2022 12:39:37 -0700 Subject: [PATCH 047/101] REST API to C-ECHO a DICOM Destination (#185) * gh-165 Implement C-ECHO API * gh-165 Unit test for C-ECHO API * gh-165 Update CLI with c-echo command * gh-165 Update user guide * gh-165 Update changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 4 +- docs/api/rest/config.md | 40 +++- docs/changelog.md | 11 +- docs/setup/cli.md | 1 + ...Monai.Deploy.InformaticsGateway.Api.csproj | 1 - src/CLI/Commands/DestinationCommand.cs | 49 ++++ src/CLI/ExitCodes.cs | 1 + src/CLI/Logging/Log.cs | 6 + ...Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- src/CLI/Test/DestinationCommandTest.cs | 75 +++++- ...ai.Deploy.InformaticsGateway.Client.csproj | 2 - src/Client/Services/AeTitle{T}Service.cs | 16 ++ src/Client/Test/AeTitleServiceTest.cs | 67 ++++++ .../Logging/Log.500.ExportService.cs | 6 +- .../Logging/Log.8000.HttpServices.cs | 3 + .../Logging/Log.900.ScuService.cs | 39 ++++ src/InformaticsGateway/Program.cs | 4 + .../Services/Export/ScuExportService.cs | 6 +- .../Http/DestinationAeTitleController.cs | 67 +++++- .../Services/Scp/ScpService.cs | 13 +- .../Services/Scu/IScuQueue.cs | 43 ++++ .../Services/Scu/ScuQueue.cs | 50 ++++ .../Services/Scu/ScuService.cs | 219 ++++++++++++++++++ .../Services/Scu/ScuWorkRequest.cs | 91 ++++++++ .../Services/Scu/ScuWorkResponse.cs | 45 ++++ .../Services/Storage/ObjectUploadQueue.cs | 3 +- .../Repositories/MonaiServiceLocatorTest.cs | 3 +- .../Services/Export/ScuExportServiceTest.cs | 23 +- .../Http/DestinationAeTitleControllerTest.cs | 108 ++++++++- .../Test/Services/Scu/ScuServiceTest.cs | 179 ++++++++++++++ .../Storage/ObjectUploadServiceTest.cs | 3 +- .../HealthLevel7Definitions.cs | 3 +- tests/Integration.Test/run.sh | 2 +- 33 files changed, 1135 insertions(+), 50 deletions(-) create mode 100644 src/InformaticsGateway/Logging/Log.900.ScuService.cs create mode 100644 src/InformaticsGateway/Services/Scu/IScuQueue.cs create mode 100644 src/InformaticsGateway/Services/Scu/ScuQueue.cs create mode 100644 src/InformaticsGateway/Services/Scu/ScuService.cs create mode 100644 src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs create mode 100644 src/InformaticsGateway/Services/Scu/ScuWorkResponse.cs create mode 100644 src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b1f226dcc..d46a2e840 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -423,8 +423,8 @@ jobs: - name: Update docs version run: | - sed -i -e "s,v0.0.0,v$SEMVER,g" ./docs/docfx.json - sed -i -e "s,v0.0.0,v$SEMVER,g" ./docs/index.md + sed -i -e "s,v0.0.0,v${{ env.SEMVER }},g" ./docs/docfx.json + sed -i -e "s,v0.0.0,v${{ env.SEMVER }},g" ./docs/index.md - name: Build Docs working-directory: docs diff --git a/docs/api/rest/config.md b/docs/api/rest/config.md index 4d719cada..97f63979c 100644 --- a/docs/api/rest/config.md +++ b/docs/api/rest/config.md @@ -85,7 +85,7 @@ Response Content Type: JSON - [MonaiApplicationEntity](xref:Monai.Deploy.Informa | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 200 | Configuration retrieved successfully. | -| 404 | Configuration Titles not found. | +| 404 | Named AE not found. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -185,7 +185,7 @@ Response Content Type: JSON - [MonaiApplicationEntity](xref:Monai.Deploy.Informa | Code | Description | | ---- | ---------------------------------------------------------------------------------------------------------------------------------------- | | 200 | AE Title deleted. | -| 404 | AE Title not found. | +| 404 | Named MONAI AE not found. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -265,7 +265,7 @@ Response Content Type: JSON - [SourceApplicationEntity](xref:Monai.Deploy.Inform | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 200 | AE Titles retrieved successfully. | -| 404 | AE Titles not found. | +| 404 | Named source not found. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -347,7 +347,7 @@ Response Content Type: JSON - [SourceApplicationEntity](xref:Monai.Deploy.Inform | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 200 | AE Title deleted. | -| 404 | AE Title not found. | +| 404 | Named source not found. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request @@ -451,6 +451,34 @@ curl --location --request GET 'http://localhost:5000/config/destination/USEAST' --- +## GET /config/destination/cecho/{name} + +Performs a DICOM C-Echo request to the named destination on behalf of `MONAISCU`. + +### Parameters + +| Name | Type | Description | +| ---- | ------ | ----------------------------------------- | +| name | string | The _name_ of the AE Title to be deleted. | + +### Responses + + +| Code | Description | +| ---- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| 200 | C-ECHO performed successfully. | +| 404 | Named destination not found. | +| 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | +| 502 | C-ECHO failure. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | + +### Example Request + +```bash +curl --location --request DELETE 'http://localhost:5000/config/destination/cecho/USEAST' +``` + +--- + ## POST /config/destination Adds a new DICOM destination AET for exporting results to. @@ -513,13 +541,13 @@ Response Content Type: JSON - [DestinationApplicationEntity](xref:Monai.Deploy.I | Code | Description | | ---- | --------------------------------------------------------------------------------------------------------------------------------------- | | 200 | AE Title deleted. | -| 404 | AE Title not found. | +| 404 | Named destination not found. | | 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | ### Example Request ```bash -curl --location --request DELETE 'http://localhost:5000/config/ae/USEAST' +curl --location --request DELETE 'http://localhost:5000/config/destination/USEAST' ``` ### Example Response diff --git a/docs/changelog.md b/docs/changelog.md index 9f6b64dc1..4ff885494 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -16,9 +16,16 @@ # Changelog + +## 0.3.1 + +[GitHub Milestone 0.3.2](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/8) + +- New [C-ECHO API](api/rest/config.md) to perform a DICOM C-ECHO to a configured DICOM destination. + ## 0.3.1 -[GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/7) +[GitHub Milestone 0.3.1](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/7) - The SCU AE Title is now uppercase MONAISCU. - Update fo-dicom to 5.0.3 @@ -28,7 +35,7 @@ [GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/3) -- Adds a basic [FHIR service](api/rest/config.md) to accept any versions of FHIR. +- Adds a basic [FHIR service](api/rest/fhir.md) to accept any versions of FHIR. - Updates [Health Check API](api/rest/health.md) to replace `/health/live` and `/health/ready` APIs with `/health` API. ## 0.2.0 diff --git a/docs/setup/cli.md b/docs/setup/cli.md index 29228cbdf..1c793fa27 100644 --- a/docs/setup/cli.md +++ b/docs/setup/cli.md @@ -170,6 +170,7 @@ Options: Commands: add Add a new DICOM destination + cecho C-ECHO a DICOM destination del, rm Remove a DICOM destination list, ls List all DICOM destinations ``` diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 9de708ae6..fb715cda0 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -32,7 +32,6 @@ <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.5" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> - <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" /> </ItemGroup> <ItemGroup> diff --git a/src/CLI/Commands/DestinationCommand.cs b/src/CLI/Commands/DestinationCommand.cs index fdfc6150d..a04929972 100644 --- a/src/CLI/Commands/DestinationCommand.cs +++ b/src/CLI/Commands/DestinationCommand.cs @@ -43,6 +43,19 @@ public DestinationCommand() : base("dst", "Configure DICOM destinations") SetupAddDestinationCommand(); SetupRemoveDestinationCommand(); SetupListDestinationCommand(); + SetupCEchoCommand(); + } + + private void SetupCEchoCommand() + { + var cechoCommand = new Command("cecho", "C-ECHO a DICOM destination"); + cechoCommand.AddAlias("cecho"); + AddCommand(cechoCommand); + + var nameOption = new Option<string>(new string[] { "-n", "--name" }, "Name of the DICOM destination") { IsRequired = true }; + cechoCommand.AddOption(nameOption); + + cechoCommand.Handler = CommandHandler.Create<string, IHost, bool, CancellationToken>(CEchoDestinationHandlerAsync); } private void SetupListDestinationCommand() @@ -149,6 +162,42 @@ private async Task<int> ListDestinationHandlerAsync(DestinationApplicationEntity return ExitCodes.Success; } + private async Task<int> CEchoDestinationHandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationToken) + { + Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Guard.Against.Null(host, nameof(host)); + + LogVerbose(verbose, host, "Configuring services..."); + var configService = host.Services.GetRequiredService<IConfigurationService>(); + var client = host.Services.GetRequiredService<IInformaticsGatewayClient>(); + var logger = CreateLogger<DestinationCommand>(host); + + Guard.Against.Null(logger, nameof(logger), "Logger is unavailable."); + Guard.Against.Null(configService, nameof(configService), "Configuration service is unavailable."); + Guard.Against.Null(client, nameof(client), $"{Strings.ApplicationName} client is unavailable."); + + try + { + CheckConfiguration(configService); + client.ConfigureServiceUris(configService.Configurations.InformaticsGatewayServerUri); + LogVerbose(verbose, host, $"Connecting to {Strings.ApplicationName} at {configService.Configurations.InformaticsGatewayServerEndpoint}..."); + LogVerbose(verbose, host, $"Deleting DICOM destination {name}..."); + await client.DicomDestinations.CEcho(name, cancellationToken).ConfigureAwait(false); + logger.DicomCEchoSuccessful(name); + } + catch (ConfigurationException ex) + { + logger.ConfigurationException(ex.Message); + return ExitCodes.Config_NotConfigured; + } + catch (Exception ex) + { + logger.ErrorCEchogDicomDestination(name, ex.Message); + return ExitCodes.DestinationAe_ErrorCEcho; + } + return ExitCodes.Success; + } + private async Task<int> RemoveDestinationHandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationToken) { Guard.Against.NullOrWhiteSpace(name, nameof(name)); diff --git a/src/CLI/ExitCodes.cs b/src/CLI/ExitCodes.cs index 7efd86541..35577333a 100644 --- a/src/CLI/ExitCodes.cs +++ b/src/CLI/ExitCodes.cs @@ -32,6 +32,7 @@ public static class ExitCodes public const int DestinationAe_ErrorList = 300; public const int DestinationAe_ErrorDelete = 301; public const int DestinationAe_ErrorCreate = 302; + public const int DestinationAe_ErrorCEcho = 303; public const int SourceAe_ErrorList = 400; public const int SourceAe_ErrorDelete = 401; diff --git a/src/CLI/Logging/Log.cs b/src/CLI/Logging/Log.cs index 742ae0e50..e485a4970 100644 --- a/src/CLI/Logging/Log.cs +++ b/src/CLI/Logging/Log.cs @@ -163,6 +163,12 @@ public static partial class Log [LoggerMessage(EventId = 30053, Level = LogLevel.Information, Message = "\n\nFound {count} items.")] public static partial void ListedNItems(this ILogger logger, int count); + [LoggerMessage(EventId = 30054, Level = LogLevel.Information, Message = "C-ECHO to {name} completed successfully.")] + public static partial void DicomCEchoSuccessful(this ILogger logger, string name); + + [LoggerMessage(EventId = 30055, Level = LogLevel.Critical, Message = "C-ECHO to {name} failed: {error}.")] + public static partial void ErrorCEchogDicomDestination(this ILogger logger, string name, string error); + // Docker Runner [LoggerMessage(EventId = 31000, Level = LogLevel.Debug, Message = "Checking for existing {applicationName} ({version}) containers...")] public static partial void CheckingExistingAppContainer(this ILogger logger, string applicationName, string version); diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index ad5131f0b..415fa7dd6 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -23,7 +23,7 @@ <SelfContained>true</SelfContained> <PublishTrimmed>false</PublishTrimmed> <PublishReadyToRun>true</PublishReadyToRun> - <RuntimeIdentifier>linux-x64</RuntimeIdentifier> + <RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers> <AssemblyName>mig-cli</AssemblyName> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> diff --git a/src/CLI/Test/DestinationCommandTest.cs b/src/CLI/Test/DestinationCommandTest.cs index c53fc3588..1382e4169 100644 --- a/src/CLI/Test/DestinationCommandTest.cs +++ b/src/CLI/Test/DestinationCommandTest.cs @@ -79,7 +79,7 @@ public DestinationCommandTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); } - [Fact(DisplayName = "dst comand")] + [Fact(DisplayName = "dst command")] public async Task Dst_Command() { var command = "dst"; @@ -90,7 +90,7 @@ public async Task Dst_Command() Assert.Equal(ExitCodes.Success, exitCode); } - [Fact(DisplayName = "dst add comand")] + [Fact(DisplayName = "dst add command")] public async Task DstAdd_Command() { var command = "dst add -n MyName -a MyAET -h MyHost -p 100"; @@ -124,7 +124,7 @@ public async Task DstAdd_Command() It.IsAny<CancellationToken>()), Times.Once()); } - [Fact(DisplayName = "dst add comand exception")] + [Fact(DisplayName = "dst add command exception")] public async Task DstAdd_Command_Exception() { var command = "dst add -n MyName -a MyAET --apps App MyCoolApp TheApp"; @@ -141,7 +141,7 @@ public async Task DstAdd_Command_Exception() _logger.VerifyLoggingMessageBeginsWith("Error creating DICOM destination", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst add comand configuration exception")] + [Fact(DisplayName = "dst add command configuration exception")] public async Task DstAdd_Command_ConfigurationException() { var command = "dst add -n MyName -a MyAET --apps App MyCoolApp TheApp"; @@ -157,7 +157,7 @@ public async Task DstAdd_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst remove comand")] + [Fact(DisplayName = "dst remove command")] public async Task DstRemove_Command() { var command = "dst rm -n MyName"; @@ -177,7 +177,7 @@ public async Task DstRemove_Command() _informaticsGatewayClient.Verify(p => p.DicomDestinations.Delete(It.Is<string>(o => o.Equals(name)), It.IsAny<CancellationToken>()), Times.Once()); } - [Fact(DisplayName = "dst remove comand exception")] + [Fact(DisplayName = "dst remove command exception")] public async Task DstRemove_Command_Exception() { var command = "dst rm -n MyName"; @@ -194,7 +194,7 @@ public async Task DstRemove_Command_Exception() _logger.VerifyLoggingMessageBeginsWith("Error deleting DICOM destination", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst remove comand configuration exception")] + [Fact(DisplayName = "dst remove command configuration exception")] public async Task DstRemove_Command_ConfigurationException() { var command = "dst rm -n MyName"; @@ -210,7 +210,7 @@ public async Task DstRemove_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst list comand")] + [Fact(DisplayName = "dst list command")] public async Task DstList_Command() { var command = "dst list"; @@ -236,7 +236,7 @@ public async Task DstList_Command() _informaticsGatewayClient.Verify(p => p.DicomDestinations.List(It.IsAny<CancellationToken>()), Times.Once()); } - [Fact(DisplayName = "dst list comand exception")] + [Fact(DisplayName = "dst list command exception")] public async Task DstList_Command_Exception() { var command = "dst list"; @@ -253,7 +253,7 @@ public async Task DstList_Command_Exception() _logger.VerifyLoggingMessageBeginsWith("Error retrieving DICOM destinations", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst list comand configuration exception")] + [Fact(DisplayName = "dst list command configuration exception")] public async Task DstList_Command_ConfigurationException() { var command = "dst list"; @@ -269,7 +269,7 @@ public async Task DstList_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst list comand empty")] + [Fact(DisplayName = "dst list command empty")] public async Task DstList_Command_Empty() { var command = "dst list"; @@ -285,5 +285,58 @@ public async Task DstList_Command_Empty() _logger.VerifyLogging("No DICOM destinations configured.", LogLevel.Warning, Times.Once()); } + + [Fact(DisplayName = "dst cecho command")] + public async Task DstCEcho_Command() + { + var command = "dst cecho -n MyName"; + var result = _paser.Parse(command); + Assert.Equal(ExitCodes.Success, result.Errors.Count); + + var name = result.CommandResult.Children[0].Tokens[0].Value; + Assert.Equal("MyName", name); + + _informaticsGatewayClient.Setup(p => p.DicomDestinations.Delete(It.IsAny<string>(), It.IsAny<CancellationToken>())); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Success, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify(p => p.DicomDestinations.CEcho(It.Is<string>(o => o.Equals(name)), It.IsAny<CancellationToken>()), Times.Once()); + } + + [Fact(DisplayName = "dst cecho command exception")] + public async Task DstCEcho_Command_Exception() + { + var command = "dst cecho -n MyName"; + _informaticsGatewayClient.Setup(p => p.DicomDestinations.CEcho(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .Throws(new Exception("error")); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.DestinationAe_ErrorCEcho, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify(p => p.DicomDestinations.CEcho(It.IsAny<string>(), It.IsAny<CancellationToken>()), Times.Once()); + + _logger.VerifyLoggingMessageBeginsWith("C-ECHO to MyName failed", LogLevel.Critical, Times.Once()); + } + + [Fact(DisplayName = "dst cecho command configuration exception")] + public async Task DstCEcho_Command_ConfigurationException() + { + var command = "dst cecho -n MyName"; + _configurationService.SetupGet(p => p.IsInitialized).Returns(false); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Config_NotConfigured, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Never()); + _informaticsGatewayClient.Verify(p => p.DicomDestinations.CEcho(It.IsAny<string>(), It.IsAny<CancellationToken>()), Times.Never()); + + _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); + } } } diff --git a/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj b/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj index 5a7aeb281..cef8c094b 100644 --- a/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj +++ b/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj @@ -24,13 +24,11 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> </ItemGroup> <ItemGroup> diff --git a/src/Client/Services/AeTitle{T}Service.cs b/src/Client/Services/AeTitle{T}Service.cs index fcd2f5221..c571953ed 100644 --- a/src/Client/Services/AeTitle{T}Service.cs +++ b/src/Client/Services/AeTitle{T}Service.cs @@ -23,6 +23,7 @@ using System.Threading.Tasks; using Ardalis.GuardClauses; using Microsoft.Extensions.Logging; +using Monai.Deploy.InformaticsGateway.Api; namespace Monai.Deploy.InformaticsGateway.Client.Services { @@ -35,6 +36,8 @@ public interface IAeTitleService<T> Task<T> Create(T item, CancellationToken cancellationToken); Task<T> Delete(string aeTitle, CancellationToken cancellationToken); + + Task CEcho(string name, CancellationToken cancellationToken); } internal class AeTitleService<T> : ServiceBase, IAeTitleService<T> @@ -88,5 +91,18 @@ public async Task<IReadOnlyList<T>> List(CancellationToken cancellationToken) var list = await response.Content.ReadFromJsonAsync<IEnumerable<T>>(Configuration.JsonSerializationOptions, cancellationToken).ConfigureAwait(false); return list.ToList().AsReadOnly(); } + + public async Task CEcho(string name, CancellationToken cancellationToken) + { + if (typeof(T) != typeof(DestinationApplicationEntity)) + { + throw new NotSupportedException($"C-ECHO is not supported for {typeof(T).Name}"); + } + name = Uri.EscapeDataString(name); + Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Logger.SendingRequestTo($"{Route}/{name}"); + var response = await HttpClient.GetAsync($"{Route}/cecho/{name}", cancellationToken).ConfigureAwait(false); + await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); + } } } diff --git a/src/Client/Test/AeTitleServiceTest.cs b/src/Client/Test/AeTitleServiceTest.cs index f74e1fe4a..181970029 100644 --- a/src/Client/Test/AeTitleServiceTest.cs +++ b/src/Client/Test/AeTitleServiceTest.cs @@ -324,5 +324,72 @@ public async Task List_ReturnsAProblem() Assert.Equal($"HTTP Status: {problem.Status}. {problem.Detail}", result.Message); } + + [Fact(DisplayName = "Destination - C-ECHO")] + public async Task CEcho() + { + var aet = new SourceApplicationEntity() + { + AeTitle = "Test", + Name = "Test", + HostIp = "1.2.3.4" + }; + + var json = JsonSerializer.Serialize(aet, Configuration.JsonSerializationOptions); + + var rootUri = new Uri("http://localhost:5000"); + var uriPath = "config/destination"; + + var httpResponse = new HttpResponseMessage + { + StatusCode = HttpStatusCode.OK, + Content = new StringContent(json, Encoding.UTF8, "application/json") + }; + + var httpClient = SetupHttpClientMock(rootUri, HttpMethod.Get, httpResponse); + + var service = new AeTitleService<DestinationApplicationEntity>(uriPath, httpClient, _logger.Object); + + var exception = await Record.ExceptionAsync(async () => await service.CEcho(aet.Name, CancellationToken.None)); + Assert.Null(exception); + + } + + [Fact(DisplayName = "Destination - C-ECHO returns a problem")] + public async Task CEcho_ReturnsAProblem() + { + var aet = new SourceApplicationEntity() + { + AeTitle = "Test", + Name = "Test Name", + HostIp = "1.2.3.4" + }; + + var problem = new ProblemDetails + { + Title = "Problem Title", + Detail = "Problem Detail", + Status = 500 + }; + + var json = JsonSerializer.Serialize(problem, Configuration.JsonSerializationOptions); + + var rootUri = new Uri("http://localhost:5000"); + var uriPath = "config/destination"; + + var httpResponse = new HttpResponseMessage + { + StatusCode = HttpStatusCode.InternalServerError, + Content = new StringContent(json, Encoding.UTF8, "application/json") + }; + + var httpClient = SetupHttpClientMock(rootUri, HttpMethod.Get, httpResponse); + + var service = new AeTitleService<DestinationApplicationEntity>(uriPath, httpClient, _logger.Object); + + var result = await Assert.ThrowsAsync<ProblemException>(async () => await service.CEcho(aet.Name, CancellationToken.None)); + + Assert.Equal($"HTTP Status: {problem.Status}. {problem.Detail}", result.Message); + } } } diff --git a/src/InformaticsGateway/Logging/Log.500.ExportService.cs b/src/InformaticsGateway/Logging/Log.500.ExportService.cs index 0c85e97df..ba1a00dec 100644 --- a/src/InformaticsGateway/Logging/Log.500.ExportService.cs +++ b/src/InformaticsGateway/Logging/Log.500.ExportService.cs @@ -86,13 +86,13 @@ public static partial class Log public static partial void ScuExportConfigurationError(this ILogger logger, string message, Exception ex); [LoggerMessage(EventId = 521, Level = LogLevel.Information, Message = "Association accepted.")] - public static partial void AssociationAccepted(this ILogger logger); + public static partial void ExportAssociationAccepted(this ILogger logger); [LoggerMessage(EventId = 522, Level = LogLevel.Warning, Message = "Association rejected.")] - public static partial void AssociationRejected(this ILogger logger); + public static partial void ExportAssociationRejected(this ILogger logger); [LoggerMessage(EventId = 523, Level = LogLevel.Information, Message = "Association released.")] - public static partial void AssociationReleased(this ILogger logger); + public static partial void ExportAssociationReleased(this ILogger logger); [LoggerMessage(EventId = 524, Level = LogLevel.Error, Message = "Error exporting to DICOM destination. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] public static partial void DimseExportErrorWithRetry(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); diff --git a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs index 458df40f5..bc8b96e60 100644 --- a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs +++ b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs @@ -55,6 +55,9 @@ public static partial class Log [LoggerMessage(EventId = 8014, Level = LogLevel.Error, Message = "Error deleting DICOM destination.")] public static partial void ErrorDeletingDestinationApplicationEntity(this ILogger logger, Exception ex); + [LoggerMessage(EventId = 8015, Level = LogLevel.Error, Message = "Error C-ECHO to DICOM destination {name}.")] + public static partial void ErrorCEechoDestinationApplicationEntity(this ILogger logger, string name, Exception ex); + // Source AE Title Controller [LoggerMessage(EventId = 8020, Level = LogLevel.Information, Message = "DICOM source added AE Title={aeTitle}, Host/IP={hostIp}.")] public static partial void SourceApplicationEntityAdded(this ILogger logger, string aeTitle, string hostIp); diff --git a/src/InformaticsGateway/Logging/Log.900.ScuService.cs b/src/InformaticsGateway/Logging/Log.900.ScuService.cs new file mode 100644 index 000000000..c7ecdba18 --- /dev/null +++ b/src/InformaticsGateway/Logging/Log.900.ScuService.cs @@ -0,0 +1,39 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using Microsoft.Extensions.Logging; + +namespace Monai.Deploy.InformaticsGateway.Logging +{ + public static partial class Log + { + [LoggerMessage(EventId = 900, Level = LogLevel.Information, Message = "Association accepted.")] + public static partial void ScuAssociationAccepted(this ILogger logger); + + [LoggerMessage(EventId = 901, Level = LogLevel.Warning, Message = "Association rejected.")] + public static partial void ScuAssociationRejected(this ILogger logger); + + [LoggerMessage(EventId = 902, Level = LogLevel.Information, Message = "Association released.")] + public static partial void ScuAssociationReleased(this ILogger logger); + + [LoggerMessage(EventId = 903, Level = LogLevel.Information, Message = "C-Echo completed successfully.")] + public static partial void CEchoSuccess(this ILogger logger); + + [LoggerMessage(EventId = 904, Level = LogLevel.Error, Message = "C-Echo failed with {status}.")] + public static partial void CEchoFailure(this ILogger logger, string status); + } +} diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 84f7594c8..5967ebc43 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -38,6 +38,7 @@ using Monai.Deploy.InformaticsGateway.Services.HealthLevel7; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scp; +using Monai.Deploy.InformaticsGateway.Services.Scu; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.Messaging; using Monai.Deploy.Messaging.Configuration; @@ -131,7 +132,9 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddSingleton<IMllpClientFactory, MllpClientFactory>(); services.AddSingleton<IApplicationEntityManager, ApplicationEntityManager>(); services.AddSingleton<IObjectUploadQueue, ObjectUploadQueue>(); + services.AddSingleton<IScuQueue, ScuQueue>(); services.AddSingleton<ScpService>(); + services.AddSingleton<ScuService>(); services.AddSingleton<ScuExportService>(); services.AddSingleton<DicomWebExportService>(); services.AddSingleton<DataRetrievalService>(); @@ -157,6 +160,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddHostedService<ObjectUploadService>(p => p.GetService<ObjectUploadService>()); services.AddHostedService<DataRetrievalService>(p => p.GetService<DataRetrievalService>()); services.AddHostedService<ScpService>(p => p.GetService<ScpService>()); + services.AddHostedService<ScuService>(p => p.GetService<ScuService>()); services.AddHostedService<ScuExportService>(p => p.GetService<ScuExportService>()); services.AddHostedService<DicomWebExportService>(p => p.GetService<DicomWebExportService>()); services.AddHostedService<PayloadNotificationService>(p => p.GetService<PayloadNotificationService>()); diff --git a/src/InformaticsGateway/Services/Export/ScuExportService.cs b/src/InformaticsGateway/Services/Export/ScuExportService.cs index b1331b7a0..ea740990e 100644 --- a/src/InformaticsGateway/Services/Export/ScuExportService.cs +++ b/src/InformaticsGateway/Services/Export/ScuExportService.cs @@ -109,9 +109,9 @@ await Policy _configuration.Value.Dicom.Scu.AeTitle, destination.AeTitle); - client.AssociationAccepted += (sender, args) => _logger.AssociationAccepted(); - client.AssociationRejected += (sender, args) => _logger.AssociationRejected(); - client.AssociationReleased += (sender, args) => _logger.AssociationReleased(); + client.AssociationAccepted += (sender, args) => _logger.ExportAssociationAccepted(); + client.AssociationRejected += (sender, args) => _logger.ExportAssociationRejected(); + client.AssociationReleased += (sender, args) => _logger.ExportAssociationReleased(); client.ServiceOptions.LogDataPDUs = _configuration.Value.Dicom.Scu.LogDataPdus; client.ServiceOptions.LogDimseDatasets = _configuration.Value.Dicom.Scu.LogDimseDatasets; diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index fbc2ba8e8..5d01aadae 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -27,6 +27,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Services.Scu; namespace Monai.Deploy.InformaticsGateway.Services.Http { @@ -36,13 +37,16 @@ public class DestinationAeTitleController : ControllerBase { private readonly ILogger<DestinationAeTitleController> _logger; private readonly IInformaticsGatewayRepository<DestinationApplicationEntity> _repository; + private readonly IScuQueue _scuQueue; public DestinationAeTitleController( ILogger<DestinationAeTitleController> logger, - IInformaticsGatewayRepository<DestinationApplicationEntity> repository) + IInformaticsGatewayRepository<DestinationApplicationEntity> repository, + IScuQueue scuQueue) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); + _scuQueue = scuQueue ?? throw new ArgumentNullException(nameof(scuQueue)); } [HttpGet] @@ -58,7 +62,7 @@ public async Task<ActionResult<IEnumerable<DestinationApplicationEntity>>> Get() catch (Exception ex) { _logger.ErrorQueryingDatabase(ex); - return Problem(title: "Error querying database.", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); + return Problem(title: "Error querying database.", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); } } @@ -83,7 +87,56 @@ public async Task<ActionResult<DestinationApplicationEntity>> GetAeTitle(string catch (Exception ex) { _logger.ErrorListingDestinationApplicationEntities(ex); - return Problem(title: "Error querying DICOM destinations.", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); + return Problem(title: "Error querying DICOM destinations.", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); + } + } + + [HttpGet("cecho/{name}")] + [Produces("application/json")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [ProducesResponseType(StatusCodes.Status502BadGateway)] + [ActionName(nameof(GetAeTitle))] + public async Task<IActionResult> CEcho(string name) + { + var traceId = HttpContext?.TraceIdentifier ?? Guid.NewGuid().ToString(); + try + { + if (string.IsNullOrWhiteSpace(name)) + { + return NotFound(); + } + + var destinationApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + + if (destinationApplicationEntity is null) + { + return NotFound(); + } + + var request = new ScuWorkRequest(traceId, RequestType.CEcho, destinationApplicationEntity.HostIp, destinationApplicationEntity.Port, destinationApplicationEntity.AeTitle); + var response = await _scuQueue.Queue(request, HttpContext.RequestAborted).ConfigureAwait(false); + + if (response.Status != ResponseStatus.Success) + { + return Problem( + title: "C-ECHO Failure", + instance: traceId, + detail: response.Message, + statusCode: StatusCodes.Status502BadGateway); + } + + return Ok(); + } + catch (Exception ex) + { + _logger.ErrorCEechoDestinationApplicationEntity(name, ex); + return Problem( + title: $"Error performing C-ECHO", + instance: traceId, + statusCode: StatusCodes.Status500InternalServerError, + detail: ex.Message); } } @@ -109,16 +162,16 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item } catch (ObjectExistsException ex) { - return Problem(title: "DICOM destination already exists", statusCode: (int)System.Net.HttpStatusCode.Conflict, detail: ex.Message); + return Problem(title: "DICOM destination already exists", statusCode: StatusCodes.Status409Conflict, detail: ex.Message); } catch (ConfigurationException ex) { - return Problem(title: "Validation error", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); + return Problem(title: "Validation error", statusCode: StatusCodes.Status400BadRequest, detail: ex.Message); } catch (Exception ex) { _logger.ErrorAddingDestinationApplicationEntity(ex); - return Problem(title: "Error adding new DICOM destination", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); + return Problem(title: "Error adding new DICOM destination", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); } } @@ -146,7 +199,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> Delete(string name catch (Exception ex) { _logger.ErrorDeletingDestinationApplicationEntity(ex); - return Problem(title: "Error deleting DICOM destination.", statusCode: (int)System.Net.HttpStatusCode.InternalServerError, detail: ex.Message); + return Problem(title: "Error deleting DICOM destination.", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); } } diff --git a/src/InformaticsGateway/Services/Scp/ScpService.cs b/src/InformaticsGateway/Services/Scp/ScpService.cs index c2774c38f..cdcbbf50d 100644 --- a/src/InformaticsGateway/Services/Scp/ScpService.cs +++ b/src/InformaticsGateway/Services/Scp/ScpService.cs @@ -19,13 +19,13 @@ using System.Reflection; using System.Threading; using System.Threading.Tasks; +using Ardalis.GuardClauses; using FellowOakDicom; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Rest; -using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Common; @@ -53,14 +53,19 @@ public ScpService(IServiceScopeFactory serviceScopeFactory, IHostApplicationLifetime appLifetime, IOptions<InformaticsGatewayConfiguration> configuration) { + Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); + Guard.Against.Null(applicationEntityManager, nameof(applicationEntityManager)); + Guard.Against.Null(appLifetime, nameof(appLifetime)); + Guard.Against.Null(configuration, nameof(configuration)); + _serviceScope = serviceScopeFactory.CreateScope(); - _associationDataProvider = applicationEntityManager ?? throw new ServiceNotFoundException(nameof(applicationEntityManager)); + _associationDataProvider = applicationEntityManager; var logginFactory = _serviceScope.ServiceProvider.GetService<ILoggerFactory>(); _logger = logginFactory.CreateLogger<ScpService>(); - _appLifetime = appLifetime ?? throw new ServiceNotFoundException(nameof(appLifetime)); - _configuration = configuration ?? throw new ServiceNotFoundException(nameof(configuration)); + _appLifetime = appLifetime; + _configuration = configuration; _ = DicomDictionary.Default; } diff --git a/src/InformaticsGateway/Services/Scu/IScuQueue.cs b/src/InformaticsGateway/Services/Scu/IScuQueue.cs new file mode 100644 index 000000000..e7828f407 --- /dev/null +++ b/src/InformaticsGateway/Services/Scu/IScuQueue.cs @@ -0,0 +1,43 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Threading; +using System.Threading.Tasks; + +namespace Monai.Deploy.InformaticsGateway.Services.Scu +{ + public enum RequestType + { + CEcho, + } + + public interface IScuQueue + { + /// <summary> + /// Queue a new ScuRequest for the SCU Service. + /// </summary> + /// <param name="request">SCU Request for the SCU Service.</param> + /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> + Task<ScuWorkResponse> Queue(ScuWorkRequest request, CancellationToken cancellationToken); + + /// <summary> + /// Dequeue a ScuRequest from the queue for processing. + /// The default implementation blocks the call until a file is available from the queue. + /// </summary> + /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> + ScuWorkRequest Dequeue(CancellationToken cancellationToken); + } +} diff --git a/src/InformaticsGateway/Services/Scu/ScuQueue.cs b/src/InformaticsGateway/Services/Scu/ScuQueue.cs new file mode 100644 index 000000000..9fd0a7984 --- /dev/null +++ b/src/InformaticsGateway/Services/Scu/ScuQueue.cs @@ -0,0 +1,50 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Collections.Concurrent; +using System.Threading; +using System.Threading.Tasks; +using Ardalis.GuardClauses; +using Microsoft.Extensions.Logging; + +namespace Monai.Deploy.InformaticsGateway.Services.Scu +{ + internal class ScuQueue : IScuQueue + { + private readonly BlockingCollection<ScuWorkRequest> _workItems; + private readonly ILogger<ScuQueue> _logger; + + public ScuQueue(ILogger<ScuQueue> logger) + { + _workItems = new BlockingCollection<ScuWorkRequest>(); + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public ScuWorkRequest Dequeue(CancellationToken cancellationToken) + { + return _workItems.Take(cancellationToken); + } + + public async Task<ScuWorkResponse> Queue(ScuWorkRequest request, CancellationToken cancellationToken) + { + Guard.Against.Null(request, nameof(request)); + _workItems.Add(request, cancellationToken); + + return await request.WaitAsync(cancellationToken).ConfigureAwait(false); + } + } +} diff --git a/src/InformaticsGateway/Services/Scu/ScuService.cs b/src/InformaticsGateway/Services/Scu/ScuService.cs new file mode 100644 index 000000000..fcc849434 --- /dev/null +++ b/src/InformaticsGateway/Services/Scu/ScuService.cs @@ -0,0 +1,219 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Threading; +using System.Threading.Tasks; +using Ardalis.GuardClauses; +using FellowOakDicom.Network; +using FellowOakDicom.Network.Client; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Logging; +using Monai.Deploy.InformaticsGateway.Services.Common; +using Monai.Deploy.InformaticsGateway.Services.Scu; + +namespace Monai.Deploy.InformaticsGateway.Services.Scp +{ + internal sealed class ScuService : IHostedService, IDisposable, IMonaiService + { + private readonly IServiceScope _scope; + private readonly ILogger<ScuService> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _configuration; + private readonly IScuQueue _workQueue; + + public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; + public string ServiceName => "DICOM SCU Service"; + + public ScuService(IServiceScopeFactory serviceScopeFactory, + ILogger<ScuService> logger, + IOptions<InformaticsGatewayConfiguration> configuration) + { + Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); + + _scope = serviceScopeFactory.CreateScope(); + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); + + _workQueue = _scope.ServiceProvider.GetService<IScuQueue>() ?? throw new ServiceNotFoundException(nameof(IScuQueue)); + } + + private async Task BackgroundProcessingAsync(CancellationToken cancellationToken) + { + _logger.ServiceRunning(ServiceName); + while (!cancellationToken.IsCancellationRequested) + { + try + { + var item = _workQueue.Dequeue(cancellationToken); + await Process(item, cancellationToken).ConfigureAwait(false); + } + catch (ObjectDisposedException ex) + { + _logger.ServiceDisposed(ServiceName, ex); + } + catch (Exception ex) + { + if (ex is InvalidOperationException || ex is OperationCanceledException) + { + _logger.ServiceInvalidOrCancelled(ServiceName, ex); + } + } + } + Status = ServiceStatus.Cancelled; + _logger.ServiceCancelled(ServiceName); + } + + private async Task Process(ScuWorkRequest request, CancellationToken cancellationToken) + { + ScuWorkResponse response = null; + try + { + response = request.RequestType switch + { + RequestType.CEcho => await HandleCEchoRequest(request, cancellationToken).ConfigureAwait(false), + _ => new ScuWorkResponse { Status = ResponseStatus.Failure, Error = ResponseError.UnsupportedRequestType }, + }; + } + catch (Exception exception) + { + response = new ScuWorkResponse { Status = ResponseStatus.Failure, Error = ResponseError.Unhandled, Message = exception.Message }; + } + finally + { + request.Complete(response); + } + } + + private async Task<ScuWorkResponse> HandleCEchoRequest(ScuWorkRequest request, CancellationToken cancellationToken) + { + Guard.Against.Null(request, nameof(request)); + + var scuResponse = new ScuWorkResponse(); + var manualResetEvent = new ManualResetEventSlim(); + try + { + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { + { "Correlation ID", request.CorrelationId }, + { "Remote Host/IP", request.HostIp }, + { "Remote Port", request.Port }, + { "Remote AE Title", request.AeTitle } + }); + + var client = DicomClientFactory.Create( + request.HostIp, + request.Port, + false, + _configuration.Value.Dicom.Scu.AeTitle, + request.AeTitle); + + client.AssociationAccepted += (sender, args) => + { + _logger.ScuAssociationAccepted(); + }; + client.AssociationRejected += (sender, args) => + { + _logger.ScuAssociationRejected(); + }; + client.AssociationReleased += (sender, args) => + { + _logger.ScuAssociationReleased(); + }; + client.ServiceOptions.LogDataPDUs = _configuration.Value.Dicom.Scu.LogDataPdus; + client.ServiceOptions.LogDimseDatasets = _configuration.Value.Dicom.Scu.LogDimseDatasets; + client.NegotiateAsyncOps(); + + var cechoRequest = new DicomCEchoRequest(); + cechoRequest.OnResponseReceived += (req, response) => + { + if (response.Status == DicomStatus.Success) + { + scuResponse.Status = ResponseStatus.Success; + _logger.CEchoSuccess(); + } + else + { + scuResponse.Status = ResponseStatus.Failure; + scuResponse.Error = ResponseError.CEchoError; + scuResponse.Message = response.Status.ToString(); + _logger.CEchoFailure(scuResponse.Message); + } + }; + await client.AddRequestAsync(cechoRequest).ConfigureAwait(false); + await client.SendAsync(cancellationToken).ConfigureAwait(false); + } + catch (DicomAssociationRejectedException ex) + { + scuResponse.Status = ResponseStatus.Failure; + scuResponse.Error = ResponseError.AssociationRejected; + scuResponse.Message = ex.Message; + _logger.CEchoFailure(ex.Message); + } + catch (DicomAssociationAbortedException ex) + { + scuResponse.Status = ResponseStatus.Failure; + scuResponse.Error = ResponseError.AssociationAborted; + scuResponse.Message = ex.Message; + _logger.CEchoFailure(ex.Message); + } + catch (Exception ex) + { + scuResponse.Status = ResponseStatus.Failure; + scuResponse.Error = ResponseError.Unhandled; + scuResponse.Message = ex.Message; + _logger.CEchoFailure(ex.Message); + } + finally + { + manualResetEvent.Set(); + } + return scuResponse; + } + + public Task StartAsync(CancellationToken cancellationToken) + { + var task = Task.Run(async () => + { + await BackgroundProcessingAsync(cancellationToken).ConfigureAwait(false); + }, CancellationToken.None); + + Status = ServiceStatus.Running; + _logger.ServiceRunning(ServiceName); + if (task.IsCompleted) + return task; + return Task.CompletedTask; + } + + public Task StopAsync(CancellationToken cancellationToken) + { + _logger.ServiceStopping(ServiceName); + Status = ServiceStatus.Stopped; + return Task.CompletedTask; + } + + public void Dispose() + { + _scope.Dispose(); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs b/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs new file mode 100644 index 000000000..1144751d6 --- /dev/null +++ b/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs @@ -0,0 +1,91 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Threading; +using System.Threading.Tasks; +using Ardalis.GuardClauses; +using DotNext.Threading; + +namespace Monai.Deploy.InformaticsGateway.Services.Scu +{ + public class ScuWorkRequest : IDisposable + { + private readonly AsyncManualResetEvent _awaiter; + private ScuWorkResponse _response; + private bool _disposedValue; + + public string CorrelationId { get; } + public RequestType RequestType { get; } + public string HostIp { get; } + public int Port { get; } + public string AeTitle { get; } + + public ScuWorkRequest(string correlationId, RequestType requestType, string hostIp, int port, string aeTitle) + { + Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.NullOrWhiteSpace(hostIp, nameof(hostIp)); + Guard.Against.NullOrWhiteSpace(aeTitle, nameof(aeTitle)); + + CorrelationId = correlationId; + RequestType = requestType; + HostIp = hostIp; + Port = port; + AeTitle = aeTitle; + + _awaiter = new AsyncManualResetEvent(false); + } + + /// <summary> + /// Call to complete the request and release the lock. + /// In case the response is null, a NullResponse is used. + /// </summary> + /// <param name="response"></param> + public void Complete(ScuWorkResponse response) + { + response ??= ScuWorkResponse.NullResponse; + + _response = response; + _awaiter.Set(); + } + + public async Task<ScuWorkResponse> WaitAsync(CancellationToken cancellationToken = default) + { + await _awaiter.WaitAsync(cancellationToken).ConfigureAwait(false); + return _response; + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _awaiter.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/InformaticsGateway/Services/Scu/ScuWorkResponse.cs b/src/InformaticsGateway/Services/Scu/ScuWorkResponse.cs new file mode 100644 index 000000000..b33d90fef --- /dev/null +++ b/src/InformaticsGateway/Services/Scu/ScuWorkResponse.cs @@ -0,0 +1,45 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Services.Scu +{ + public enum ResponseStatus + { + Success, + Failure, + Unknown + } + + public enum ResponseError + { + None, + AssociationRejected, + CEchoError, + Unhandled, + UnsupportedRequestType, + Unknown, + AssociationAborted + } + + public class ScuWorkResponse + { + public static readonly ScuWorkResponse NullResponse = new ScuWorkResponse { Status = ResponseStatus.Unknown, Error = ResponseError.Unknown }; + + public ResponseStatus Status { get; set; } + public string Message { get; set; } = string.Empty; + public ResponseError Error { get; set; } + } +} diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs index 4743f5437..9c0a44c83 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs @@ -14,6 +14,7 @@ * limitations under the License. */ +using System; using System.Collections.Concurrent; using System.Diagnostics; using System.Threading; @@ -32,7 +33,7 @@ internal class ObjectUploadQueue : IObjectUploadQueue public ObjectUploadQueue(ILogger<ObjectUploadQueue> logger) { _workItems = new BlockingCollection<FileStorageMetadata>(); - _logger = logger; + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } public void Queue(FileStorageMetadata file) diff --git a/src/InformaticsGateway/Test/Repositories/MonaiServiceLocatorTest.cs b/src/InformaticsGateway/Test/Repositories/MonaiServiceLocatorTest.cs index 3eae1bd4e..012425de7 100644 --- a/src/InformaticsGateway/Test/Repositories/MonaiServiceLocatorTest.cs +++ b/src/InformaticsGateway/Test/Repositories/MonaiServiceLocatorTest.cs @@ -48,6 +48,7 @@ public void GetMonaiServices() Assert.Collection(result, items => items.ServiceName.Equals("DataRetrievalService"), items => items.ServiceName.Equals("ScpService"), + items => items.ServiceName.Equals("ScuService"), items => items.ServiceName.Equals("SpaceReclaimerService"), items => items.ServiceName.Equals("DicomWebExportService"), items => items.ServiceName.Equals("ScuExportService"), @@ -61,7 +62,7 @@ public void GetServiceStatus() var serviceLocator = new MonaiServiceLocator(_serviceProvider.Object); var result = serviceLocator.GetServiceStatus(); - Assert.Equal(7, result.Count); + Assert.Equal(8, result.Count); foreach (var svc in result.Keys) { Assert.Equal(ServiceStatus.Running, result[svc]); diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index 40c8eeb9b..306381a41 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -41,7 +41,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Export { - public class ScuExportServiceTest : IClassFixture<DicomScpFixture> + public class ScuExportServiceTest : IClassFixture<DicomScpFixture>, IDisposable { private readonly Mock<IStorageService> _storageService; private readonly Mock<IMessageBrokerSubscriberService> _messageSubscriberService; @@ -56,6 +56,7 @@ public class ScuExportServiceTest : IClassFixture<DicomScpFixture> private readonly CancellationTokenSource _cancellationTokenSource; private readonly DicomScpFixture _dicomScp; private readonly int _port = 11104; + private bool _disposedValue; public ScuExportServiceTest(DicomScpFixture dicomScp) { @@ -521,5 +522,25 @@ private async Task StopAndVerify(ScuExportService service) _logger.VerifyLogging($"{service.ServiceName} is stopping.", LogLevel.Information, Times.Once()); Thread.Sleep(500); } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _dicomScp.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } } } diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index 3c0911189..964b91307 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -27,6 +27,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Http; +using Monai.Deploy.InformaticsGateway.Services.Scu; using Moq; using xRetry; using Xunit; @@ -38,11 +39,13 @@ public class DestinationAeTitleControllerTest private readonly DestinationAeTitleController _controller; private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<DestinationAeTitleController>> _logger; + private readonly Mock<IScuQueue> _scuQueue; private readonly Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>> _repository; public DestinationAeTitleControllerTest() { _logger = new Mock<ILogger<DestinationAeTitleController>>(); + _scuQueue = new Mock<IScuQueue>(); _problemDetailsFactory = new Mock<ProblemDetailsFactory>(); _problemDetailsFactory.Setup(_ => _.CreateProblemDetails( @@ -67,11 +70,14 @@ public DestinationAeTitleControllerTest() _repository = new Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>>(); + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; _controller = new DestinationAeTitleController( _logger.Object, - _repository.Object) + _repository.Object, + _scuQueue.Object) { - ProblemDetailsFactory = _problemDetailsFactory.Object + ProblemDetailsFactory = _problemDetailsFactory.Object, + ControllerContext = controllerContext }; } @@ -172,6 +178,104 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() #endregion GetAeTitle + #region C-Echo + + [RetryFact(5, 250)] + public async Task GivenAnEmptyString_WhenCEchoIsCalled_Returns404() + { + var result = await _controller.CEcho(string.Empty); + var notFoundResult = result as NotFoundResult; + Assert.NotNull(notFoundResult); + Assert.Equal(StatusCodes.Status404NotFound, notFoundResult.StatusCode); + } + + [RetryFact(5, 250)] + public async Task GivenADestinationName_WhenCEchoIsCalledAndEntityCannotBeFound_Returns404() + { + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).ReturnsAsync(default(DestinationApplicationEntity)); + var result = await _controller.CEcho("AET"); + var notFoundResult = result as NotFoundResult; + Assert.NotNull(notFoundResult); + Assert.Equal(StatusCodes.Status404NotFound, notFoundResult.StatusCode); + } + + [RetryFact(5, 250)] + public async Task GivenADestinationName_WhenCEchoIsCalledWithAnError_Returns502() + { + _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + .ReturnsAsync(new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "1.2.3.4", + Port = 104, + Name = "AET" + }); + _scuQueue.Setup(p => p.Queue(It.IsAny<ScuWorkRequest>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new ScuWorkResponse + { + Status = ResponseStatus.Failure, + Error = ResponseError.AssociationRejected, + Message = "error" + }); + var result = await _controller.CEcho("AET"); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + var problemDetails = objectResult.Value as ProblemDetails; + Assert.NotNull(problemDetails); + Assert.Equal(StatusCodes.Status502BadGateway, problemDetails.Status); + Assert.Equal("C-ECHO Failure", problemDetails.Title); + Assert.Equal("error", problemDetails.Detail); + } + + [RetryFact(5, 250)] + public async Task GivenADestinationName_WhenCEchoIsCalledWithUnhandledError_Returns500() + { + _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + .ReturnsAsync(new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "1.2.3.4", + Port = 104, + Name = "AET" + }); + _scuQueue.Setup(p => p.Queue(It.IsAny<ScuWorkRequest>(), It.IsAny<CancellationToken>())) + .ThrowsAsync(new Exception("error")); + var result = await _controller.CEcho("AET"); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + var problemDetails = objectResult.Value as ProblemDetails; + Assert.NotNull(problemDetails); + Assert.Equal(StatusCodes.Status500InternalServerError, problemDetails.Status); + Assert.Equal("Error performing C-ECHO", problemDetails.Title); + Assert.Equal("error", problemDetails.Detail); + } + + [RetryFact(5, 250)] + public async Task GivenADestinationName_WhenCEchoIsCalledSuccessfully_Returns200() + { + _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + .ReturnsAsync(new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "1.2.3.4", + Port = 104, + Name = "AET" + }); + _scuQueue.Setup(p => p.Queue(It.IsAny<ScuWorkRequest>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new ScuWorkResponse + { + Status = ResponseStatus.Success, + Error = ResponseError.None, + Message = "" + }); + var result = await _controller.CEcho("AET"); + var okResult = result as OkResult; + Assert.NotNull(okResult); + Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode); + } + + #endregion C-Echo + #region Create [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return problem on validation failure")] diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs new file mode 100644 index 000000000..8bb625313 --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -0,0 +1,179 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Services.Scp; +using Monai.Deploy.InformaticsGateway.Services.Scu; +using Monai.Deploy.InformaticsGateway.SharedTest; +using Moq; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Scu +{ + public class ScuServiceTest : IClassFixture<DicomScpFixture>, IDisposable + { + private readonly DicomScpFixture _dicomScp; + private readonly int _port = 11105; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<ScuService>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<ILogger<ScuQueue>> _scuQueueLogger; + private readonly IScuQueue _scuQueue; + private readonly CancellationTokenSource _cancellationTokenSource; + private readonly ServiceProvider _serviceProvider; + private readonly Mock<IServiceScope> _serviceScope; + private bool _disposedValue; + + public ScuServiceTest(DicomScpFixture dicomScp) + { + _dicomScp = dicomScp ?? throw new ArgumentNullException(nameof(dicomScp)); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _scuQueueLogger = new Mock<ILogger<ScuQueue>>(); + _scuQueue = new ScuQueue(_scuQueueLogger.Object); + _logger = new Mock<ILogger<ScuService>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _cancellationTokenSource = new CancellationTokenSource(); + _serviceScope = new Mock<IServiceScope>(); + + var services = new ServiceCollection(); + services.AddScoped(p => _scuQueue); + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + + _dicomScp.Start(_port); + } + + [Fact] + public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() + { + Assert.Throws<ArgumentNullException>(() => new ScuService(null, null, null)); + Assert.Throws<ArgumentNullException>(() => new ScuService(_serviceScopeFactory.Object, _logger.Object, null)); + + _ = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + } + + [Fact] + public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() + { + var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + _ = svc.StartAsync(_cancellationTokenSource.Token); + + Assert.Equal(ServiceStatus.Running, svc.Status); + } + + [Fact] + public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess() + { + var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + _ = svc.StartAsync(_cancellationTokenSource.Token); + + Assert.Equal(ServiceStatus.Running, svc.Status); + + var request = new ScuWorkRequest(Guid.NewGuid().ToString(), RequestType.CEcho, "localhost", _port, DicomScpFixture.s_aETITLE); + + var response = await _scuQueue.Queue(request, _cancellationTokenSource.Token); + + Assert.Equal(ResponseStatus.Success, response.Status); + Assert.Equal(ResponseError.None, response.Error); + Assert.Empty(response.Message); + } + + [Fact] + public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejected() + { + var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + _ = svc.StartAsync(_cancellationTokenSource.Token); + + Assert.Equal(ServiceStatus.Running, svc.Status); + + var request = new ScuWorkRequest(Guid.NewGuid().ToString(), RequestType.CEcho, "localhost", _port, "BADAET"); + + var response = await _scuQueue.Queue(request, _cancellationTokenSource.Token); + + Assert.Equal(ResponseStatus.Failure, response.Status); + Assert.Equal(ResponseError.AssociationRejected, response.Error); + Assert.StartsWith("Association rejected", response.Message); + } + + [Fact] + public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted() + { + var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + _ = svc.StartAsync(_cancellationTokenSource.Token); + + Assert.Equal(ServiceStatus.Running, svc.Status); + + var request = new ScuWorkRequest(Guid.NewGuid().ToString(), RequestType.CEcho, "localhost", _port, "ABORT"); + + var response = await _scuQueue.Queue(request, _cancellationTokenSource.Token); + + Assert.Equal(ResponseStatus.Failure, response.Status); + Assert.Equal(ResponseError.AssociationAborted, response.Error); + Assert.StartsWith("Association Abort", response.Message); + } + + [Fact] + public async Task GivenACEchoRequest_WhenRemoteServerIsUnreachable_ReturnStatusAssociationRejected() + { + var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); + _ = svc.StartAsync(_cancellationTokenSource.Token); + + Assert.Equal(ServiceStatus.Running, svc.Status); + + var request = new ScuWorkRequest(Guid.NewGuid().ToString(), RequestType.CEcho, "UNKNOWNHOST123456789", _port, DicomScpFixture.s_aETITLE); + + var response = await _scuQueue.Queue(request, _cancellationTokenSource.Token); + + Assert.Equal(ResponseStatus.Failure, response.Status); + Assert.Equal(ResponseError.Unhandled, response.Error); + Assert.StartsWith("One or more error", response.Message); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _dicomScp.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index d844eaec8..f5a013784 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -31,6 +31,7 @@ using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.Storage.API; using Moq; +using xRetry; using Xunit; namespace Monai.Deploy.InformaticsGateway.Test.Services.Storage @@ -122,7 +123,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Exactly(2)); } - [Fact] + [RetryFact] public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index 0020dab7b..673fddedb 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -212,6 +212,7 @@ public async Task ThenMessageAreUploadedToStorageService() foreach (var file in request.Payload) { + _outputHelper.WriteLine($"Verifying file => {request.PayloadId}/{file.Path}..."); var retryCount = 0; var matchFound = false; RetryVerifyFileUpload: @@ -230,7 +231,7 @@ public async Task ThenMessageAreUploadedToStorageService() foreach (var key in _input.Keys) { - if (hl7Message.HL7Message.Equals(_input[key].SerializeMessage(true))) + if (hl7Message.SerializeMessage(true).Equals(_input[key].SerializeMessage(true))) { matchFound = true; break; diff --git a/tests/Integration.Test/run.sh b/tests/Integration.Test/run.sh index fd4074d39..65155256a 100755 --- a/tests/Integration.Test/run.sh +++ b/tests/Integration.Test/run.sh @@ -123,7 +123,7 @@ function start_services() { set +e COUNTER=0 - EXPECTEDSERVICE=7 + EXPECTEDSERVICE=8 while true; do info "Waiting for Informatics Gateway ($COUNTER)..." count=$(curl -s http://$HOST_IP:5000/health/status | jq | grep "running" | wc -l) From 49c8f50718f34f4e206bd88c54b70c2ccb18cc89 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Sat, 1 Oct 2022 17:21:56 -0700 Subject: [PATCH 048/101] Reset stream position before upload (#186) * gh-183 Reset stream position * Skip messsge comparison for HL7 test feature Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .../Services/Storage/ObjectUploadService.cs | 1 + .../HealthLevel7Definitions.cs | 20 +------------------ 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 5330733c0..32913cf20 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -214,6 +214,7 @@ await Policy }) .ExecuteAsync(async () => { + storageObjectMetadata.Data.Seek(0, System.IO.SeekOrigin.Begin); await _storageService.PutObjectAsync( _configuration.Value.Storage.TemporaryStorageBucket, storageObjectMetadata.GetTempStoragPath(_configuration.Value.Storage.TemporaryStorageRootPath), diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index 673fddedb..fda649b6d 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -213,9 +213,6 @@ public async Task ThenMessageAreUploadedToStorageService() foreach (var file in request.Payload) { _outputHelper.WriteLine($"Verifying file => {request.PayloadId}/{file.Path}..."); - var retryCount = 0; - var matchFound = false; - RetryVerifyFileUpload: var getObjectArgs = new GetObjectArgs() .WithBucket(request.Bucket) .WithObject($"{request.PayloadId}/{file.Path}") @@ -227,24 +224,9 @@ public async Task ThenMessageAreUploadedToStorageService() var data = Encoding.UTF8.GetString(memoryStream.ToArray()); var hl7Message = new HL7.Dotnetcore.Message(data); - hl7Message.ParseMessage(); - - foreach (var key in _input.Keys) - { - if (hl7Message.SerializeMessage(true).Equals(_input[key].SerializeMessage(true))) - { - matchFound = true; - break; - } - } - + hl7Message.ParseMessage().Should().BeTrue(); }); await minioClient.GetObjectAsync(getObjectArgs); - if (retryCount++ < 3 && !matchFound) - { - goto RetryVerifyFileUpload; - } - matchFound.Should().BeTrue(); } } } From 5fd1db9427680eb420a2d7daa671accd811c90e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 20:57:45 -0700 Subject: [PATCH 049/101] Bump actions/cache from 3.0.8 to 3.0.10 (#190) Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.0.10. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.8...v3.0.10) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d46a2e840..a332b774e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,7 +89,7 @@ jobs: tools: licensefinder - name: Enable NuGet cache - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.10 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -145,7 +145,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.10 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -223,7 +223,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.10 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -288,7 +288,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.10 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -401,7 +401,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.8 + uses: actions/cache@v3.0.10 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} From 07321d992512f98bd4eff8f6b95c7d2351a75f97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 20:58:05 -0700 Subject: [PATCH 050/101] Bump actions/setup-dotnet from 2 to 3 (#189) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a332b774e..1d2ff9f2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" @@ -76,7 +76,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" @@ -140,7 +140,7 @@ jobs: distribution: zulu java-version: '11' - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" @@ -218,7 +218,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" @@ -283,7 +283,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" @@ -396,7 +396,7 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-dotnet@v2 + - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" From 069f7eb3af68f1eef3c2465446b7b801031dfbde Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 4 Oct 2022 07:57:27 -0700 Subject: [PATCH 051/101] update messaging lib to fix RMQ connection issues (#187) * gh-184 update messaging lib to fix RMQ connection issues Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 5 ++--- docs/compliance/third-party-licenses.md | 12 ++++++------ src/Api/Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ...ai.Deploy.InformaticsGateway.Configuration.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 2 +- .../Connectors/PayloadNotificationActionHandler.cs | 5 ++--- src/InformaticsGateway/appsettings.Development.json | 2 +- ...Deploy.InformaticsGateway.Integration.Test.csproj | 2 +- 8 files changed, 15 insertions(+), 17 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 26dd9e645..950873cbc 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -808,14 +808,14 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.5 + - 0.1.6 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.5 + - 0.1.6 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage @@ -2370,4 +2370,3 @@ :versions: - 4.0.1 :when: 2022-08-16 23:10:21.184627612 Z - \ No newline at end of file diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index f253482e7..78011f001 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -7847,14 +7847,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.5</summary> +<summary>Monai.Deploy.Messaging 0.1.6</summary> ## Monai.Deploy.Messaging -- Version: 0.1.5 +- Version: 0.1.6 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.5) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.6) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -8075,14 +8075,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.5</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.6</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.5 +- Version: 0.1.6 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.5) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.6) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index fb715cda0..116e3cbfa 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.5" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.6" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 47241673e..8b45a0cbb 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.5" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.6" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 7a31a6b38..119f60bbf 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -47,7 +47,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.5" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.6" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 4a50c3fd7..0ddb5daad 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -46,7 +46,6 @@ internal class PayloadNotificationActionHandler : IPayloadNotificationActionHand private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly IServiceScope _scope; - private readonly IMessageBrokerPublisherService _messageBrokerPublisherService; private bool _disposedValue; public PayloadNotificationActionHandler(IServiceScopeFactory serviceScopeFactory, @@ -58,7 +57,6 @@ public PayloadNotificationActionHandler(IServiceScopeFactory serviceScopeFactory _options = options ?? throw new ArgumentNullException(nameof(options)); _scope = _serviceScopeFactory.CreateScope(); - _messageBrokerPublisherService = _scope.ServiceProvider.GetService<IMessageBrokerPublisherService>() ?? throw new ServiceNotFoundException(nameof(IMessageBrokerPublisherService)); } public async Task NotifyAsync(Payload payload, ActionBlock<Payload> notificationQueue, CancellationToken cancellationToken = default) @@ -134,7 +132,8 @@ private async Task NotifyPayloadReady(Payload payload) _logger.PublishingWorkflowRequest(message.MessageId); - await _messageBrokerPublisherService.Publish( + var messageBrokerPublisherService = _scope.ServiceProvider.GetService<IMessageBrokerPublisherService>() ?? throw new ServiceNotFoundException(nameof(IMessageBrokerPublisherService)); + await messageBrokerPublisherService.Publish( _options.Value.Messaging.Topics.WorkflowRequest, message.ToMessage()).ConfigureAwait(false); diff --git a/src/InformaticsGateway/appsettings.Development.json b/src/InformaticsGateway/appsettings.Development.json index 2ac189a44..adb443ca5 100644 --- a/src/InformaticsGateway/appsettings.Development.json +++ b/src/InformaticsGateway/appsettings.Development.json @@ -28,7 +28,7 @@ }, "storage": { "settings": { - "endpoint": "localhost", + "endpoint": "localhost:9000", "accessKey": "minioadmin", "accessToken": "minioadmin", "securedConnection": false diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index e794d68b9..606f97f99 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Minio" Version="4.0.5" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.5" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.6" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> From 609f939646478cd8bc0a1f7085506de6bc49569f Mon Sep 17 00:00:00 2001 From: Neil South <104848880+neildsouth@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:08:21 +0100 Subject: [PATCH 052/101] fix for missing nugets (#196) Signed-off-by: Neil South <neil.south@answerdigital.com> --- src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 119f60bbf..6f66a08b6 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -34,6 +34,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="DotNext.Threading" Version="4.7.2" /> + <PackageReference Include="Elastic.CommonSchema.Serilog" Version="1.5.3" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> @@ -51,6 +52,8 @@ <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> + <PackageReference Include="Serilog.AspNetCore" Version="6.0.1" /> + <PackageReference Include="Serilog.Exceptions" Version="8.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> </ItemGroup> From 566ba8be93f7742df817c48209e29757eba349ca Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 4 Oct 2022 10:34:36 -0700 Subject: [PATCH 053/101] Stops accepting/retrieving data when disk space is low. (#194) * gh-188 Stops accepting/retreiving data when disk space is low. - Allows users to configure watermark & reserve space similar to 0.1. - gh-188 Stop accepting DICOMweb, HL7 & FHIR when disk space is low Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 2 +- docs/api/rest/dicomweb-stow.md | 6 +- docs/api/rest/fhir.md | 13 +- docs/compliance/third-party-licenses.md | 6 +- docs/setup/schema.md | 6 +- docs/setup/setup.md | 7 +- src/Configuration/ConfigurationValidator.cs | 14 +-- src/Configuration/StorageConfiguration.cs | 8 +- .../Test/ConfigurationValidatorTest.cs | 4 +- src/DicomWebClient/API/IDicomWebClient.cs | 4 +- src/DicomWebClient/API/IServiceBase.cs | 4 +- ...ormaticsGateway.DicomWeb.Client.CLI.csproj | 2 +- src/DicomWebClient/DicomWebClient.cs | 4 +- .../InsufficientStorageAvailableException.cs | 53 ++++++++ .../Logging/Log.100.200.ScpService.cs | 3 + .../Logging/Log.300.StorageInfoProvider.cs | 30 +++++ .../Logging/Log.500.ExportService.cs | 3 + .../Logging/Log.600.DataRetrievalService.cs | 3 + .../Logging/Log.800.Hl7Service.cs | 3 + .../Logging/Log.900.ScuService.cs | 1 - src/InformaticsGateway/Program.cs | 1 + .../Services/Common/ITcpClientAdapter.cs | 2 + .../Services/Common/TcpClientAdapter.cs | 7 +- .../Connectors/DataRetrievalService.cs | 15 ++- .../Connectors/PayloadMoveActionHandler.cs | 4 +- .../DicomWeb/DicomInstanceReaderBase.cs | 6 +- .../Services/DicomWeb/IStreamsWriter.cs | 2 +- .../Services/Export/ExportServiceBase.cs | 10 ++ .../Services/Fhir/FhirJsonReader.cs | 2 +- .../Services/Fhir/FhirXmlReader.cs | 2 +- .../Services/HealthLevel7/MllpClient.cs | 1 + .../Services/HealthLevel7/MllpService.cs | 16 ++- .../Services/Http/DicomWeb/StowController.cs | 12 ++ .../Services/Http/Fhir/FhirController.cs | 11 ++ .../Services/Scp/ApplicationEntityHandler.cs | 2 +- .../Services/Scp/ApplicationEntityManager.cs | 17 ++- .../Services/Scp/ScpServiceInternal.cs | 5 + .../Services/Storage/IStorageInfoProvider.cs | 38 ++++++ .../Services/Storage/ObjectUploadService.cs | 2 +- .../Services/Storage/StoageInfoProvider.cs | 102 +++++++++++++++ .../Connectors/DataRetrievalServiceTest.cs | 25 ++++ .../Services/DicomWeb/StreamsWriterTest.cs | 1 + .../Export/DicomWebExportServiceTest.cs | 7 ++ .../Services/Export/ExportServiceBaseTest.cs | 35 ++++++ .../Services/Export/ScuExportServiceTest.cs | 7 ++ .../Services/HealthLevel7/MllpServiceTest.cs | 27 ++++ .../Http/DicomWeb/StowControllerTest.cs | 27 ++++ .../Services/Http/Fhir/FhirControllerTest.cs | 21 ++++ .../Http/MonaiAeTitleControllerTest.cs | 4 +- .../Scp/ApplicationEntityManagerTest.cs | 42 +++++++ .../Test/Services/Scp/ScpServiceTest.cs | 32 +++++ .../Test/Services/Scu/ScuServiceTest.cs | 13 +- .../Storage/StorageInfoProviderTest.cs | 119 ++++++++++++++++++ .../appsettings.Development.json | 1 + src/InformaticsGateway/appsettings.json | 6 +- .../configs/informatics-gateway.json | 6 +- 56 files changed, 732 insertions(+), 74 deletions(-) create mode 100644 src/InformaticsGateway/Common/InsufficientStorageAvailableException.cs create mode 100644 src/InformaticsGateway/Logging/Log.300.StorageInfoProvider.cs create mode 100644 src/InformaticsGateway/Services/Storage/IStorageInfoProvider.cs create mode 100644 src/InformaticsGateway/Services/Storage/StoageInfoProvider.cs create mode 100644 src/InformaticsGateway/Test/Services/Storage/StorageInfoProviderTest.cs diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 950873cbc..4fd88a526 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -46,7 +46,7 @@ - :who: mocsharp :why: MIT (https://github.com/Cysharp/ConsoleAppFramework/raw/master/LICENSE) :versions: - - 4.2.2 + - 4.2.3 :when: 2022-08-16 23:05:31.110052610 Z - - :approve - Crayon diff --git a/docs/api/rest/dicomweb-stow.md b/docs/api/rest/dicomweb-stow.md index 26762fea8..2d4eadbc8 100644 --- a/docs/api/rest/dicomweb-stow.md +++ b/docs/api/rest/dicomweb-stow.md @@ -56,8 +56,9 @@ Response Content Type: `JSON` | 202 | [DicomDataset](https://github.com/fo-dicom/fo-dicom/blob/development/FO-DICOM.Core/DicomDataset.cs) | All instances are received and stored with warnings (e.g. for a mismatched StudyInstanceUID. | | 204 | `none` | No data is provided. | | 400 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Request contains invalid values. | -| 415 | `none` | Unsupported media type | -| 500 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Server error | +| 415 | `none` | Unsupported media typ. | +| 500 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Server error. | +| 507 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Insufficient storage. | --- @@ -97,3 +98,4 @@ Response Content Type: `JSON` | 400 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Request contains invalid values. | | 415 | `none` | Unsupported media type | | 500 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Server error | +| 507 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) | Insufficient storage. | diff --git a/docs/api/rest/fhir.md b/docs/api/rest/fhir.md index f149fa65a..dd5df8f88 100644 --- a/docs/api/rest/fhir.md +++ b/docs/api/rest/fhir.md @@ -55,9 +55,10 @@ Depending on the `Accept` header or the original document, the response supports If the `Accept` header is missing or a none supported value exists, the service will return the same type as the posted document. -| Code | Data Type | Description | -| ---- | ------------------------------------------------------------- | --------------------------------------------------------------------- | -| 201 | Original JSON or XML document. | Resource created & stored successfully. | -| 400 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Unable to parse the resource or mismatching resource type specified.. | -| 415 | `none` | Unsupported media type | -| 500 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Server error. | +| Code | Data Type | Description | +| ---- | --------------------------------------------------------------- | --------------------------------------------------------------------- | +| 201 | Original JSON or XML document. | Resource created & stored successfully. | +| 400 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Unable to parse the resource or mismatching resource type specified.. | +| 415 | `none` | Unsupported media type | +| 500 | [OperationOutcome](http://hl7.org/fhir/operationoutcome.html) | Server error. | +| 507 | [Problem details](https://datatracker.ietf.org/doc/html/rfc7807)| Insufficient storage. | diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 78011f001..bb33a72f8 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -589,14 +589,14 @@ limitations under the License. <details> -<summary>ConsoleAppFramework 4.2.2</summary> +<summary>ConsoleAppFramework 4.2.3</summary> ## ConsoleAppFramework -- Version: 4.2.2 +- Version: 4.2.3 - Authors: Cysharp - Project URL: https://github.com/Cysharp/ConsoleAppFramework -- Source: [NuGet](https://www.nuget.org/packages/ConsoleAppFramework/4.2.2) +- Source: [NuGet](https://www.nuget.org/packages/ConsoleAppFramework/4.2.3) - License: [MIT](https://github.com/Cysharp/ConsoleAppFramework/raw/master/LICENSE) diff --git a/docs/setup/schema.md b/docs/setup/schema.md index 0b2ce740c..752711e1a 100644 --- a/docs/setup/schema.md +++ b/docs/setup/schema.md @@ -96,12 +96,14 @@ The `InformaticsGateway` configuration section contains the following sub-sectio } }, "storage": { - "bufferRootPath": "./temp", - "tempStorageRootPath": "/incoming", + "localTemporaryStoragePath": "/payloads", + "remoteTemporaryStoragePath": "/incoming", "bucketName": "monaideploy", "storageRootPath": "/payloads", "temporaryBucketName": "monaideploy", "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", + "watermarkPercent": 75, + "reserveSpaceGB": 5, "settings": { "endpoint": "localhost:9000", "accessKey": "admin", diff --git a/docs/setup/setup.md b/docs/setup/setup.md index 35efd3ba7..0cb5f13df 100644 --- a/docs/setup/setup.md +++ b/docs/setup/setup.md @@ -101,9 +101,9 @@ The Informatics Gateway operates on two storage locations. In the first location ### Temporary Storage of Incoming Dataset -By default, the temporary storage location is set to `/payloads` in the `appsettings.json` file. +By default, the temporary storage location is set to use `Disk` and stores any incoming files inside `/payloads`. This can be modified to user a different location, such as `Memory` or a different path. -To change the temporary storage location, locate the `./InformaticsGateway/storage/temporary` property in the `appsettings.json` file and modify it. +To change the temporary storage path, locate the `InformaticsGateway>storage>localTemporaryStoragePath` property in the `appsettings.json` file and modify it. > [!Note] > You will need to calculate the required temporary storage based on the number of studies and the size of each study. @@ -116,7 +116,7 @@ To change the temporary storage location, locate the `./InformaticsGateway/stora > the expected number of studies and size of each study. The suggested value for `reserveSpaceGB` is 2x to 3x the > size of a single study multiplied by the number of configured AE Titles. -### Shared Storage +### Storage Service Informatics Gateway includes MinIO as the default storage service provider. To integrate with another storage service provider, please refer to the [Data Storage](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/blob/main/guidelines/srs.md#data-storage) section of the SRS. @@ -138,7 +138,6 @@ Locate the storage section of the configuration in `appsettings.json`: "accessToken": "password", # Access token or password "securedConnection": false, # Indicates if connection should be secured using HTTPS "region": "local", # Region - "executableLocation": "/bin/mc", # Path to minio client "serviceName": "MinIO" # Name of the service }, "storageService": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", # Fully qualified type name of the storage service diff --git a/src/Configuration/ConfigurationValidator.cs b/src/Configuration/ConfigurationValidator.cs index 86d7cb51d..c19d175d4 100644 --- a/src/Configuration/ConfigurationValidator.cs +++ b/src/Configuration/ConfigurationValidator.cs @@ -81,7 +81,7 @@ private bool IsStorageValid(StorageConfiguration storage) var valid = true; valid &= IsValidBucketName("InformaticsGateway>storage>bucketName", storage.StorageServiceBucketName); valid &= IsValidBucketName("InformaticsGateway>storage>temporaryBucketName", storage.TemporaryStorageBucket); - valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>temporary", storage.TemporaryStorageRootPath); + valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>temporary", storage.RemoteTemporaryStoragePath); valid &= IsValueInRange("InformaticsGateway>storage>watermark", 1, 100, storage.Watermark); valid &= IsValueInRange("InformaticsGateway>storage>reserveSpaceGB", 1, 999, storage.ReserveSpaceGB); valid &= IsValueInRange("InformaticsGateway>storage>payloadProcessThreads", 1, 128, storage.PayloadProcessThreads); @@ -90,8 +90,8 @@ private bool IsStorageValid(StorageConfiguration storage) if (storage.TemporaryDataStorage == TemporaryDataStorageLocation.Disk) { - valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); - valid &= IsValidDirectory("InformaticsGateway>storage>bufferRootPath", storage.BufferStorageRootPath); + valid &= IsNotNullOrWhiteSpace("InformaticsGateway>storage>localTemporaryStoragePath", storage.LocalTemporaryStoragePath); + valid &= IsValidDirectory("InformaticsGateway>storage>localTemporaryStoragePath", storage.LocalTemporaryStoragePath); valid &= IsValueInRange("InformaticsGateway>storage>bufferSize", 1, int.MaxValue, storage.BufferSize); } @@ -105,13 +105,9 @@ private bool IsValidDirectory(string source, string directory) { if (!_fileSystem.Directory.Exists(directory)) { - valid = false; - _validationErrors.Add($"Directory `{directory}` specified in `{source}` does not exist."); - } - else - { - using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); + _fileSystem.Directory.CreateDirectory(directory); } + using var _ = _fileSystem.File.Create(Path.Combine(directory, Path.GetRandomFileName()), 1, FileOptions.DeleteOnClose); } catch (Exception ex) { diff --git a/src/Configuration/StorageConfiguration.cs b/src/Configuration/StorageConfiguration.cs index bb6f01aaf..ab7d10141 100644 --- a/src/Configuration/StorageConfiguration.cs +++ b/src/Configuration/StorageConfiguration.cs @@ -33,8 +33,8 @@ public class StorageConfiguration : StorageServiceConfiguration /// Gets or sets the path used for buffering incoming data. /// Defaults to <c>./temp</c>. /// </summary> - [ConfigurationKeyName("bufferRootPath")] - public string BufferStorageRootPath { get; set; } = "./temp"; + [ConfigurationKeyName("localTemporaryStoragePath")] + public string LocalTemporaryStoragePath { get; set; } = "/payloads"; /// <summary> /// Gets or sets the number of bytes buffered for reads and writes to the temporary file. @@ -66,8 +66,8 @@ public class StorageConfiguration : StorageServiceConfiguration /// Gets or sets root directory path for storing incoming data in the <c>temporaryBucketName</c>. /// Defaults to <c>/incoming</c>. /// </summary> - [ConfigurationKeyName("tempStorageRootPath")] - public string TemporaryStorageRootPath { get; set; } = "/incoming"; + [ConfigurationKeyName("remoteTemporaryStoragePath")] + public string RemoteTemporaryStoragePath { get; set; } = "/incoming"; /// <summary> /// Gets or sets the watermark for disk usage with default value of 75%, diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index d1fb6375d..93c39996e 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -137,11 +137,11 @@ public void StorageWithInaccessbleDirectory() var config = MockValidConfiguration(); config.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Disk; - config.Storage.BufferStorageRootPath = "/blabla"; + config.Storage.LocalTemporaryStoragePath = "/blabla"; var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); - var validationMessages = new[] { $"Directory `/blabla` specified in `InformaticsGateway>storage>bufferRootPath` is not accessible: error." }; + var validationMessages = new[] { $"Directory `/blabla` specified in `InformaticsGateway>storage>localTemporaryStoragePath` is not accessible: error." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); foreach (var message in validationMessages) { diff --git a/src/DicomWebClient/API/IDicomWebClient.cs b/src/DicomWebClient/API/IDicomWebClient.cs index 141bff521..f69e764e5 100644 --- a/src/DicomWebClient/API/IDicomWebClient.cs +++ b/src/DicomWebClient/API/IDicomWebClient.cs @@ -74,9 +74,9 @@ public interface IDicomWebClient /// </summary> /// <param name="serviceType"><c>ServiceType</c> to be configured</param> /// <param name="urlPrefix">Url prefix</param> - #pragma warning disable CA1054 +#pragma warning disable CA1054 void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPrefix); - #pragma warning restore CA1054 +#pragma warning restore CA1054 /// <summary> /// Configures the authentication header for the DICOMweb client. /// </summary> diff --git a/src/DicomWebClient/API/IServiceBase.cs b/src/DicomWebClient/API/IServiceBase.cs index 95555ef1c..65193a828 100644 --- a/src/DicomWebClient/API/IServiceBase.cs +++ b/src/DicomWebClient/API/IServiceBase.cs @@ -19,8 +19,8 @@ namespace Monai.Deploy.InformaticsGateway.DicomWeb.Client.API { public interface IServiceBase { - #pragma warning disable CA1054 +#pragma warning disable CA1054 bool TryConfigureServiceUriPrefix(string uriPrefix); - #pragma warning restore CA1054 +#pragma warning restore CA1054 } } diff --git a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj index 66d9c5d94..597e545a2 100644 --- a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj +++ b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj @@ -34,7 +34,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="ConsoleAppFramework" Version="4.2.2" /> + <PackageReference Include="ConsoleAppFramework" Version="4.2.3" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> </ItemGroup> diff --git a/src/DicomWebClient/DicomWebClient.cs b/src/DicomWebClient/DicomWebClient.cs index 31c2d9106..76f071e68 100644 --- a/src/DicomWebClient/DicomWebClient.cs +++ b/src/DicomWebClient/DicomWebClient.cs @@ -78,9 +78,9 @@ public void ConfigureServiceUris(Uri uriRoot) } /// <inheritdoc/> - #pragma warning disable CA1054 +#pragma warning disable CA1054 public void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPrefix) - #pragma warning restore CA1054 +#pragma warning restore CA1054 { Guard.Against.NullOrWhiteSpace(urlPrefix, nameof(urlPrefix)); diff --git a/src/InformaticsGateway/Common/InsufficientStorageAvailableException.cs b/src/InformaticsGateway/Common/InsufficientStorageAvailableException.cs new file mode 100644 index 000000000..3051b5b3f --- /dev/null +++ b/src/InformaticsGateway/Common/InsufficientStorageAvailableException.cs @@ -0,0 +1,53 @@ +// Copyright 2021 MONAI Consortium +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* + * Apache License, Version 2.0 + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; + +namespace Monai.Deploy.InformaticsGateway.Common +{ + [Serializable] + public class InsufficientStorageAvailableException : Exception + { + public InsufficientStorageAvailableException() + { + } + + public InsufficientStorageAvailableException(string message) : base(message) + { + } + + public InsufficientStorageAvailableException(string message, Exception innerException) : base(message, innerException) + { + } + + protected InsufficientStorageAvailableException(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs index 4d0ab21f4..e71cd49b8 100644 --- a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs +++ b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs @@ -94,5 +94,8 @@ public static partial class Log [LoggerMessage(EventId = 211, Level = LogLevel.Warning, Message = "Verification service is disabled: rejecting association.")] public static partial void VerificationServiceDisabled(this ILogger logger); + + [LoggerMessage(EventId = 212, Level = LogLevel.Error, Message = "Failed to process C-STORE request, out of storage space.")] + public static partial void CStoreFailedDueToLowStorageSpace(this ILogger logger, Exception ex); } } diff --git a/src/InformaticsGateway/Logging/Log.300.StorageInfoProvider.cs b/src/InformaticsGateway/Logging/Log.300.StorageInfoProvider.cs new file mode 100644 index 000000000..416d625c5 --- /dev/null +++ b/src/InformaticsGateway/Logging/Log.300.StorageInfoProvider.cs @@ -0,0 +1,30 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.Logging; + +namespace Monai.Deploy.InformaticsGateway.Logging +{ + public static partial class Log + { + // StorageInfoProvider + [LoggerMessage(EventId = 300, Level = LogLevel.Information, Message = "Temporary Storage Path={path}. Storage Size: {totalSize:N0}. Reserved: {reservedSpace:N0}.")] + public static partial void StorageInfoProviderStartup(this ILogger logger, string path, long totalSize, long reservedSpace); + + [LoggerMessage(EventId = 301, Level = LogLevel.Information, Message = "Storage Size: {totalSize:N0}. Reserved: {reservedSpace:N0}. Available: {freeSpace:N0}.")] + public static partial void CurrentStorageSize(this ILogger logger, long totalSize, long reservedSpace, long freeSpace); + } +} diff --git a/src/InformaticsGateway/Logging/Log.500.ExportService.cs b/src/InformaticsGateway/Logging/Log.500.ExportService.cs index ba1a00dec..6c2b6a1a8 100644 --- a/src/InformaticsGateway/Logging/Log.500.ExportService.cs +++ b/src/InformaticsGateway/Logging/Log.500.ExportService.cs @@ -114,5 +114,8 @@ public static partial class Log [LoggerMessage(EventId = 530, Level = LogLevel.Error, Message = "{message}")] public static partial void ExportException(this ILogger logger, string message, Exception ex); + + [LoggerMessage(EventId = 531, Level = LogLevel.Warning, Message = "Export service paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}")] + public static partial void ExportServiceStoppedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); } } diff --git a/src/InformaticsGateway/Logging/Log.600.DataRetrievalService.cs b/src/InformaticsGateway/Logging/Log.600.DataRetrievalService.cs index de0264adb..a1f51528b 100644 --- a/src/InformaticsGateway/Logging/Log.600.DataRetrievalService.cs +++ b/src/InformaticsGateway/Logging/Log.600.DataRetrievalService.cs @@ -91,5 +91,8 @@ public static partial class Log [LoggerMessage(EventId = 622, Level = LogLevel.Warning, Message = "FHIR resource {type}/{id} contains no data.")] public static partial void FhirResourceContainsNoData(this ILogger logger, string type, string id); + + [LoggerMessage(EventId = 623, Level = LogLevel.Warning, Message = "Data retrieval paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}.")] + public static partial void DataRetrievalServiceStoppedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); } } diff --git a/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs b/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs index f3b2002b5..af25238cc 100644 --- a/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs +++ b/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs @@ -62,5 +62,8 @@ public static partial class Log [LoggerMessage(EventId = 813, Level = LogLevel.Debug, Message = "Waiting for HL7 message.")] public static partial void HL7ReadingMessage(this ILogger logger); + + [LoggerMessage(EventId = 814, Level = LogLevel.Warning, Message = "HL7 service paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}.")] + public static partial void Hl7DisconnectedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); } } diff --git a/src/InformaticsGateway/Logging/Log.900.ScuService.cs b/src/InformaticsGateway/Logging/Log.900.ScuService.cs index c7ecdba18..af626eb35 100644 --- a/src/InformaticsGateway/Logging/Log.900.ScuService.cs +++ b/src/InformaticsGateway/Logging/Log.900.ScuService.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using System; using Microsoft.Extensions.Logging; namespace Monai.Deploy.InformaticsGateway.Logging diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 6efdec0dd..1907fd402 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -146,6 +146,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddSingleton<IPayloadAssembler, PayloadAssembler>(); services.AddSingleton<FellowOakDicom.Log.ILogManager, Logging.FoDicomLogManager>(); services.AddSingleton<IMonaiServiceLocator, MonaiServiceLocator>(); + services.AddSingleton<IStorageInfoProvider, StorageInfoProvider>(); services.AddSingleton<IMonaiAeChangedNotificationService, MonaiAeChangedNotificationService>(); services.AddSingleton<ITcpListenerFactory, TcpListenerFactory>(); services.AddSingleton<IMllpClientFactory, MllpClientFactory>(); diff --git a/src/InformaticsGateway/Services/Common/ITcpClientAdapter.cs b/src/InformaticsGateway/Services/Common/ITcpClientAdapter.cs index a5df17207..e9920b041 100644 --- a/src/InformaticsGateway/Services/Common/ITcpClientAdapter.cs +++ b/src/InformaticsGateway/Services/Common/ITcpClientAdapter.cs @@ -24,5 +24,7 @@ internal interface ITcpClientAdapter : IDisposable EndPoint RemoteEndPoint { get; } INetworkStream GetStream(); + + void Close(); } } diff --git a/src/InformaticsGateway/Services/Common/TcpClientAdapter.cs b/src/InformaticsGateway/Services/Common/TcpClientAdapter.cs index b56d93554..8ecfead8e 100644 --- a/src/InformaticsGateway/Services/Common/TcpClientAdapter.cs +++ b/src/InformaticsGateway/Services/Common/TcpClientAdapter.cs @@ -35,10 +35,9 @@ public EndPoint RemoteEndPoint public TcpClientAdapter(System.Net.Sockets.TcpClient tcpClient) => _tcpClient = tcpClient ?? throw new ArgumentNullException(nameof(tcpClient)); - public INetworkStream GetStream() - { - return new NetworkStreamAdapter(_tcpClient.GetStream()); - } + public INetworkStream GetStream() => new NetworkStreamAdapter(_tcpClient.GetStream()); + + public void Close() => _tcpClient.Close(); protected virtual void Dispose(bool disposing) { diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index ada4e956f..6f7733759 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -57,6 +57,7 @@ internal class DataRetrievalService : IHostedService, IMonaiService, IDisposable private readonly IPayloadAssembler _payloadAssembler; private readonly IDicomToolkit _dicomToolkit; private readonly IFileSystem _fileSystem; + private readonly IStorageInfoProvider _storageInfoProvider; private bool _disposedValue; public ServiceStatus Status { get; set; } @@ -80,6 +81,7 @@ public DataRetrievalService( _payloadAssembler = _rootScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _dicomToolkit = _rootScope.ServiceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); _fileSystem = _rootScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); + _storageInfoProvider = _rootScope.ServiceProvider.GetService<IStorageInfoProvider>() ?? throw new ServiceNotFoundException(nameof(IStorageInfoProvider)); } public Task StartAsync(CancellationToken cancellationToken) @@ -110,6 +112,13 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) using var scope = _serviceScopeFactory.CreateScope(); var repository = scope.ServiceProvider.GetRequiredService<IInferenceRequestRepository>(); + if (!_storageInfoProvider.HasSpaceAvailableToRetrieve) + { + _logger.DataRetrievalServiceStoppedDueToLowStorageSpace(_storageInfoProvider.AvailableFreeSpace); + await Task.Delay(5000, cancellationToken).ConfigureAwait(false); + continue; + } + InferenceRequest request = null; try { @@ -333,7 +342,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -512,7 +521,7 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); count++; } @@ -542,7 +551,7 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } var dicomFileStorageMetadata = SaveFile(transactionId, file, uids); - await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomFileStorageMetadata.SetDataStreams(file, file.ToJson(_options.Value.Dicom.WriteDicomJson, _options.Value.Dicom.ValidateDicomOnSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); retrievedInstance.Add(uids.Identifier, dicomFileStorageMetadata); } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs index 2fe069fd5..c2215f85f 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs @@ -152,13 +152,13 @@ private async Task MoveFile(Guid payloadId, string identity, StorageObjectMetada _logger.MovingFileToPayloadDirectory(payloadId, identity); await _storageService.CopyObjectAsync( file.TemporaryBucketName, - file.GetTempStoragPath(_options.Value.Storage.TemporaryStorageRootPath), + file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), _options.Value.Storage.StorageServiceBucketName, file.GetPayloadPath(payloadId), cancellationToken).ConfigureAwait(false); _logger.DeletingFileFromTemporaryBbucket(file.TemporaryBucketName, identity, file.TemporaryPath); - await _storageService.RemoveObjectAsync(file.TemporaryBucketName, file.GetTempStoragPath(_options.Value.Storage.TemporaryStorageRootPath), cancellationToken); + await _storageService.RemoveObjectAsync(file.TemporaryBucketName, file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), cancellationToken); file.SetMoved(_options.Value.Storage.StorageServiceBucketName); } diff --git a/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs b/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs index bd0e44c9e..ae83d4cc7 100644 --- a/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs +++ b/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs @@ -73,11 +73,11 @@ protected async Task<Stream> ConvertStream(HttpContext httpContext, Stream sourc { lock (SyncLock) { - FileSystem.Directory.CreateDirectoryIfNotExists(Configuration.Storage.BufferStorageRootPath); + FileSystem.Directory.CreateDirectoryIfNotExists(Configuration.Storage.LocalTemporaryStoragePath); } - Logger.ConvertingStreamToFileBufferingReadStream(Configuration.Storage.MemoryThreshold, Configuration.Storage.BufferStorageRootPath); - seekableStream = new FileBufferingReadStream(sourceStream, Configuration.Storage.MemoryThreshold, null, Configuration.Storage.BufferStorageRootPath); + Logger.ConvertingStreamToFileBufferingReadStream(Configuration.Storage.MemoryThreshold, Configuration.Storage.LocalTemporaryStoragePath); + seekableStream = new FileBufferingReadStream(sourceStream, Configuration.Storage.MemoryThreshold, null, Configuration.Storage.LocalTemporaryStoragePath); httpContext.Response.RegisterForDisposeAsync(seekableStream); await seekableStream.DrainAsync(cancellationToken).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index c09943d4c..37a66d7e5 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -169,7 +169,7 @@ private async Task SaveInstance(Stream stream, string studyInstanceUid, string w dicomInfo.SetWorkflows(workflowName); } - await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(dicomFile, dicomFile.ToJson(_configuration.Value.Dicom.WriteDicomJson, _configuration.Value.Dicom.ValidateDicomOnSerialization), _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); // for DICOMweb, use correlation ID as the grouping key diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index c071b21cc..07d9e0741 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -33,6 +33,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Common; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Common; using Monai.Deploy.Messaging.Events; @@ -56,6 +57,7 @@ public abstract class ExportServiceBase : IHostedService, IMonaiService, IDispos private readonly IMessageBrokerPublisherService _messagePublisher; private readonly IServiceScope _scope; private readonly Dictionary<string, ExportRequestEventDetails> _exportRequests; + private readonly IStorageInfoProvider _storageInfoProvider; private bool _disposedValue; public abstract string RoutingKey { get; } @@ -91,6 +93,7 @@ protected ExportServiceBase( _messageSubscriber = _scope.ServiceProvider.GetRequiredService<IMessageBrokerSubscriberService>(); _messagePublisher = _scope.ServiceProvider.GetRequiredService<IMessageBrokerPublisherService>(); + _storageInfoProvider = _scope.ServiceProvider.GetRequiredService<IStorageInfoProvider>(); _exportRequests = new Dictionary<string, ExportRequestEventDetails>(); } @@ -120,6 +123,13 @@ private void SetupPolling() private void OnMessageReceivedCallback(MessageReceivedEventArgs eventArgs) { + if (!_storageInfoProvider.HasSpaceAvailableForExport) + { + _logger.ExportServiceStoppedDueToLowStorageSpace(_storageInfoProvider.AvailableFreeSpace); + _messageSubscriber.Reject(eventArgs.Message); + return; + } + try { var executionOptions = new ExecutionDataflowBlockOptions diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index 2f56dffb5..d489ff5d0 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -75,7 +75,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.RawData = jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Json); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index 2d975db8a..d936e8d44 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -87,7 +87,7 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c result.InternalResourceType = rootNode.Name; var fileMetadata = new FhirFileStorageMetadata(correlationId, result.InternalResourceType, resourceId, Api.Rest.FhirStorageFormat.Xml); - await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath); + await fileMetadata.SetDataStream(result.RawData, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath); result.Metadata = fileMetadata; return result; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs index f42fdab36..c31a579b1 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs @@ -226,6 +226,7 @@ private void Dispose(bool disposing) { if (disposing) { + _client.Close(); _client.Dispose(); _loggerScope.Dispose(); } diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index ba657f8b2..6e6bc09a2 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -49,6 +49,7 @@ internal sealed class MllpService : IHostedService, IDisposable, IMonaiService private readonly ILoggerFactory _logginFactory; private readonly ILogger<MllpService> _logger; private readonly IOptions<InformaticsGatewayConfiguration> _configuration; + private readonly IStorageInfoProvider _storageInfoProvider; private readonly ConcurrentDictionary<Guid, IMllpClient> _activeTasks; public int ActiveConnections @@ -82,6 +83,7 @@ public MllpService(IServiceScopeFactory serviceScopeFactory, _uploadQueue = _serviceScope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _payloadAssembler = _serviceScope.ServiceProvider.GetService<IPayloadAssembler>() ?? throw new ServiceNotFoundException(nameof(IPayloadAssembler)); _fileSystem = _serviceScope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); + _storageInfoProvider = _serviceScope.ServiceProvider.GetService<IStorageInfoProvider>() ?? throw new ServiceNotFoundException(nameof(IStorageInfoProvider)); _activeTasks = new ConcurrentDictionary<Guid, IMllpClient>(); } @@ -121,6 +123,14 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) var client = await _tcpListener.AcceptTcpClientAsync(cancellationToken).ConfigureAwait(false); _logger.ClientConnected(); + if (!_storageInfoProvider.HasSpaceAvailableToStore) + { + _logger.Hl7DisconnectedDueToLowStorageSpace(_storageInfoProvider.AvailableFreeSpace); + client.Close(); + await Task.Delay(5000, cancellationToken).ConfigureAwait(false); + continue; + } + mllpClient = _mllpClientFactory.CreateClient(client, _configuration.Value.Hl7, _logginFactory.CreateLogger<MllpClient>()); _ = mllpClient.Start(OnDisconnect, cancellationToken); _activeTasks.TryAdd(mllpClient.ClientId, mllpClient); @@ -161,7 +171,7 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.BufferStorageRootPath); + await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.LocalTemporaryStoragePath); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } @@ -170,6 +180,10 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) { _logger.ErrorHandlingHl7Results(ex); } + finally + { + client.Dispose(); + } } private void WaitUntilAvailable(int maximumNumberOfConnections) diff --git a/src/InformaticsGateway/Services/Http/DicomWeb/StowController.cs b/src/InformaticsGateway/Services/Http/DicomWeb/StowController.cs index c09291463..3e33b21c1 100644 --- a/src/InformaticsGateway/Services/Http/DicomWeb/StowController.cs +++ b/src/InformaticsGateway/Services/Http/DicomWeb/StowController.cs @@ -25,6 +25,7 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.DicomWeb; +using Monai.Deploy.InformaticsGateway.Services.Storage; namespace Monai.Deploy.InformaticsGateway.Services.Http.DicomWeb { @@ -34,6 +35,7 @@ public class StowController : ControllerBase { private readonly IStowService _stowService; private readonly ILogger<StowController> _logger; + private readonly IStorageInfoProvider _storageInfoProvider; public StowController(IServiceScopeFactory serviceScopeFactory) { @@ -45,6 +47,7 @@ public StowController(IServiceScopeFactory serviceScopeFactory) _stowService = scope.ServiceProvider.GetService<IStowService>() ?? throw new ServiceNotFoundException(nameof(IStowService)); _logger = scope.ServiceProvider.GetService<ILogger<StowController>>() ?? throw new ServiceNotFoundException(nameof(ILogger<StowController>)); + _storageInfoProvider = scope.ServiceProvider.GetService<IStorageInfoProvider>() ?? throw new ServiceNotFoundException(nameof(IStorageInfoProvider)); } [HttpPost("studies")] @@ -58,6 +61,7 @@ public StowController(IServiceScopeFactory serviceScopeFactory) [ProducesResponseType(typeof(DicomDataset), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(string), StatusCodes.Status415UnsupportedMediaType)] [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status507InsufficientStorage)] public async Task<IActionResult> StoreInstances(string workflowName = "") { return await StoreInstances(string.Empty, workflowName).ConfigureAwait(false); @@ -74,6 +78,7 @@ public async Task<IActionResult> StoreInstances(string workflowName = "") [ProducesResponseType(typeof(DicomDataset), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(string), StatusCodes.Status415UnsupportedMediaType)] [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status507InsufficientStorage)] public async Task<IActionResult> StoreInstancesToStudy(string studyInstanceUid, string workflowName = "") { return await StoreInstances(studyInstanceUid, workflowName).ConfigureAwait(false); @@ -84,6 +89,13 @@ private async Task<IActionResult> StoreInstances(string studyInstanceUid, string var correlationId = Guid.NewGuid().ToString(); using var logger = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", correlationId }, { "StudyInstanceUID", studyInstanceUid }, { "Workflow", workflowName } }); + if (!_storageInfoProvider.HasSpaceAvailableToStore) + { + return StatusCode( + StatusCodes.Status507InsufficientStorage, + Problem(title: $"Insufficient Storage", statusCode: StatusCodes.Status507InsufficientStorage)); + } + try { var result = await _stowService.StoreAsync(Request, studyInstanceUid, workflowName, correlationId, HttpContext.RequestAborted).ConfigureAwait(false); diff --git a/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs b/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs index 82adb7d56..63334d1dd 100644 --- a/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs +++ b/src/InformaticsGateway/Services/Http/Fhir/FhirController.cs @@ -24,6 +24,7 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Monai.Deploy.InformaticsGateway.Services.Storage; namespace Monai.Deploy.InformaticsGateway.Services.Http.Fhir { @@ -34,6 +35,7 @@ public class FhirController : ControllerBase, IDisposable private readonly IServiceScope _scope; private readonly IFhirService _fhirService; private readonly ILogger<FhirController> _logger; + private readonly IStorageInfoProvider _storageInfoProvider; private bool _disposedValue; public FhirController(IServiceScopeFactory serviceScopeFactory) @@ -46,6 +48,7 @@ public FhirController(IServiceScopeFactory serviceScopeFactory) _scope = serviceScopeFactory.CreateScope(); _fhirService = _scope.ServiceProvider.GetService<IFhirService>() ?? throw new ServiceNotFoundException(nameof(IFhirService)); _logger = _scope.ServiceProvider.GetService<ILogger<FhirController>>() ?? throw new ServiceNotFoundException(nameof(ILogger<FhirController>)); + _storageInfoProvider = _scope.ServiceProvider.GetService<IStorageInfoProvider>() ?? throw new ServiceNotFoundException(nameof(IStorageInfoProvider)); } [HttpPost] @@ -53,6 +56,7 @@ public FhirController(IServiceScopeFactory serviceScopeFactory) [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status507InsufficientStorage)] [Produces(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] public async Task<IActionResult> Create() { @@ -65,12 +69,19 @@ public async Task<IActionResult> Create() [ProducesResponseType(StatusCodes.Status201Created)] [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(OperationOutcome), StatusCodes.Status500InternalServerError)] + [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status507InsufficientStorage)] [Produces(ContentTypes.ApplicationFhirJson, ContentTypes.ApplicationFhirXml)] public async Task<IActionResult> Create(string resourceType) { var correlationId = Guid.NewGuid().ToString(); using var logger = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", correlationId } }); + if (!_storageInfoProvider.HasSpaceAvailableToStore) + { + return StatusCode( + StatusCodes.Status507InsufficientStorage, + Problem(title: $"Insufficient Storage", statusCode: StatusCodes.Status507InsufficientStorage)); + } try { var result = await _fhirService.StoreAsync(Request, correlationId, resourceType, HttpContext.RequestAborted).ConfigureAwait(false); diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index a856c09fd..bcc35aa2b 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -101,7 +101,7 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA dicomInfo.SetWorkflows(_configuration.Workflows.ToArray()); } - await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.BufferStorageRootPath).ConfigureAwait(false); + await dicomInfo.SetDataStreams(request.File, request.File.ToJson(_dicomJsonOptions, _validateDicomValueOnJsonSerialization), _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); _uploadQueue.Queue(dicomInfo); var dicomTag = FellowOakDicom.DicomTag.Parse(_configuration.Grouping); diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index 6fbafcca2..ab15ca480 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -29,6 +29,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Services.Storage; namespace Monai.Deploy.InformaticsGateway.Services.Scp { @@ -39,13 +40,20 @@ internal class ApplicationEntityManager : IApplicationEntityManager, IDisposable private readonly ILogger<ApplicationEntityManager> _logger; private readonly IDicomToolkit _dicomToolkit; private readonly ILoggerFactory _loggerFactory; + private readonly IStorageInfoProvider _storageInfoProvider; private readonly ConcurrentDictionary<string, IApplicationEntityHandler> _aeTitles; private readonly IDisposable _unsubscriberForMonaiAeChangedNotificationService; private bool _disposedValue; public IOptions<InformaticsGatewayConfiguration> Configuration { get; } - public bool CanStore => true; + public bool CanStore + { + get + { + return _storageInfoProvider.HasSpaceAvailableToStore; + } + } public ApplicationEntityManager(IHostApplicationLifetime applicationLifetime, IServiceScopeFactory serviceScopeFactory, @@ -67,7 +75,7 @@ public ApplicationEntityManager(IHostApplicationLifetime applicationLifetime, _logger = _loggerFactory.CreateLogger<ApplicationEntityManager>(); _dicomToolkit = serviceProvider.GetService<IDicomToolkit>() ?? throw new ServiceNotFoundException(nameof(IDicomToolkit)); - + _storageInfoProvider = serviceProvider.GetService<IStorageInfoProvider>() ?? throw new ServiceNotFoundException(nameof(IStorageInfoProvider)); _unsubscriberForMonaiAeChangedNotificationService = monaiAeChangedNotificationService.Subscribe(this); _aeTitles = new ConcurrentDictionary<string, IApplicationEntityHandler>(); applicationLifetime.ApplicationStopping.Register(OnApplicationStopping); @@ -95,6 +103,11 @@ public async Task HandleCStoreRequest(DicomCStoreRequest request, string calledA throw new ArgumentException($"Called AE Title '{calledAeTitle}' is not configured"); } + if (!_storageInfoProvider.HasSpaceAvailableToStore) + { + throw new InsufficientStorageAvailableException($"Insufficient storage available. Available storage space: {_storageInfoProvider.AvailableFreeSpace:D}"); + } + await HandleInstance(request, calledAeTitle, callingAeTitle, associationId).ConfigureAwait(false); } diff --git a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs index 49646d18c..2f683ceaa 100644 --- a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs +++ b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs @@ -72,6 +72,11 @@ public async Task<DicomCStoreResponse> OnCStoreRequestAsync(DicomCStoreRequest r await _associationDataProvider.HandleCStoreRequest(request, Association.CalledAE, Association.CallingAE, _associationId).ConfigureAwait(false); return new DicomCStoreResponse(request, DicomStatus.Success); } + catch (InsufficientStorageAvailableException ex) + { + _logger?.CStoreFailedDueToLowStorageSpace(ex); + return new DicomCStoreResponse(request, DicomStatus.ResourceLimitation); + } catch (System.IO.IOException ex) when ((ex.HResult & 0xFFFF) == Constants.ERROR_HANDLE_DISK_FULL || (ex.HResult & 0xFFFF) == Constants.ERROR_DISK_FULL) { _logger?.CStoreFailedWithNoSpace(ex); diff --git a/src/InformaticsGateway/Services/Storage/IStorageInfoProvider.cs b/src/InformaticsGateway/Services/Storage/IStorageInfoProvider.cs new file mode 100644 index 000000000..6c40c230e --- /dev/null +++ b/src/InformaticsGateway/Services/Storage/IStorageInfoProvider.cs @@ -0,0 +1,38 @@ +// Copyright 2021 MONAI Consortium +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* + * Apache License, Version 2.0 + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Services.Storage +{ + public interface IStorageInfoProvider + { + bool HasSpaceAvailableToStore { get; } + bool HasSpaceAvailableForExport { get; } + bool HasSpaceAvailableToRetrieve { get; } + long AvailableFreeSpace { get; } + } +} diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 32913cf20..f42c14b71 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -217,7 +217,7 @@ await Policy storageObjectMetadata.Data.Seek(0, System.IO.SeekOrigin.Begin); await _storageService.PutObjectAsync( _configuration.Value.Storage.TemporaryStorageBucket, - storageObjectMetadata.GetTempStoragPath(_configuration.Value.Storage.TemporaryStorageRootPath), + storageObjectMetadata.GetTempStoragPath(_configuration.Value.Storage.RemoteTemporaryStoragePath), storageObjectMetadata.Data, storageObjectMetadata.Data.Length, storageObjectMetadata.ContentType, diff --git a/src/InformaticsGateway/Services/Storage/StoageInfoProvider.cs b/src/InformaticsGateway/Services/Storage/StoageInfoProvider.cs new file mode 100644 index 000000000..6e9eb0b17 --- /dev/null +++ b/src/InformaticsGateway/Services/Storage/StoageInfoProvider.cs @@ -0,0 +1,102 @@ +// Copyright 2021 MONAI Consortium +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* + * Apache License, Version 2.0 + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.IO.Abstractions; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Logging; + +namespace Monai.Deploy.InformaticsGateway.Services.Storage +{ + public class StorageInfoProvider : IStorageInfoProvider + { + private const long OneGB = 1000000000; + private readonly StorageConfiguration _storageConfiguration; + private readonly IFileSystem _fileSystem; + private readonly ILogger<StorageInfoProvider> _logger; + private readonly string _localTemporaryStoragePath; + private long _reservedSpace; + + public bool HasSpaceAvailableToStore { get => IsSpaceAvailable(); } + + public bool HasSpaceAvailableForExport { get => IsSpaceAvailable(); } + + public bool HasSpaceAvailableToRetrieve { get => IsSpaceAvailable(); } + + public long AvailableFreeSpace + { + get + { + var driveInfo = _fileSystem.DriveInfo.FromDriveName(_localTemporaryStoragePath); + return driveInfo.AvailableFreeSpace; + } + } + + public StorageInfoProvider( + IOptions<InformaticsGatewayConfiguration> configuration, + IFileSystem fileSystem, + ILogger<StorageInfoProvider> logger) + { + if (configuration is null) + { + throw new ArgumentNullException(nameof(configuration)); + } + + _storageConfiguration = configuration.Value.Storage; + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _localTemporaryStoragePath = _fileSystem.Path.GetFullPath(_storageConfiguration.LocalTemporaryStoragePath); + + Initialize(); + } + + private void Initialize() + { + var driveInfo = _fileSystem.DriveInfo.FromDriveName(_localTemporaryStoragePath); + _reservedSpace = (long)(driveInfo.TotalSize * (1 - (_storageConfiguration.Watermark / 100.0))); + _reservedSpace = Math.Max(_reservedSpace, _storageConfiguration.ReserveSpaceGB * OneGB); + _logger.StorageInfoProviderStartup(_localTemporaryStoragePath, driveInfo.TotalSize, _reservedSpace); + } + + private bool IsSpaceAvailable() + { + var driveInfo = _fileSystem.DriveInfo.FromDriveName(_localTemporaryStoragePath); + + var freeSpace = driveInfo.AvailableFreeSpace; + + if (freeSpace <= _reservedSpace) + { + _logger.CurrentStorageSize(driveInfo.TotalSize, _reservedSpace, freeSpace); + } + + return freeSpace > _reservedSpace; + } + } +} diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index 39ab94464..f07b59965 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -57,6 +57,7 @@ public class DataRetrievalServiceTest private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IFileSystem> _fileSystem; private readonly Mock<IInferenceRequestRepository> _inferenceRequestStore; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; private Mock<HttpMessageHandler> _handlerMock; @@ -79,6 +80,7 @@ public DataRetrievalServiceTest() _fileSystem = new Mock<IFileSystem>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _serviceScope = new Mock<IServiceScope>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); _loggerFactory.Setup(p => p.CreateLogger(It.IsAny<string>())).Returns((string type) => { @@ -94,6 +96,7 @@ public DataRetrievalServiceTest() services.AddScoped(p => _dicomToolkit.Object); services.AddScoped(p => _inferenceRequestStore.Object); services.AddScoped(p => _fileSystem.Object); + services.AddScoped(p => _storageInfoProvider.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); @@ -101,6 +104,7 @@ public DataRetrievalServiceTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); _options.Value.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Memory; + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToRetrieve).Returns(true); } [RetryFact(5, 250)] @@ -130,6 +134,27 @@ public async Task GivenARunningDataRetrievalService_WhenStopAsyncIsCalled_Expect _logger.VerifyLogging($"Data Retrieval Service is stopping.", LogLevel.Information, Times.Once()); } + [RetryFact(5, 250)] + public async Task GivenARunningDataRetrievalService_WhenStorageSpaceIsLow_ExpectNotToRetrieve() + { + var cancellationTokenSource = new CancellationTokenSource(); + cancellationTokenSource.CancelAfter(1000); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToRetrieve).Returns(false); + _storageInfoProvider.Setup(p => p.AvailableFreeSpace).Returns(100); + + var store = new DataRetrievalService(_logger.Object, _serviceScopeFactory.Object, _options); + + await store.StartAsync(cancellationTokenSource.Token); + Thread.Sleep(250); + await store.StopAsync(cancellationTokenSource.Token); + Thread.Sleep(500); + + _logger.VerifyLogging($"Data Retrieval Service is running.", LogLevel.Information, Times.Once()); + _logger.VerifyLogging($"Data Retrieval Service is stopping.", LogLevel.Information, Times.Once()); + _storageInfoProvider.Verify(p => p.HasSpaceAvailableToRetrieve, Times.AtLeastOnce()); + _storageInfoProvider.Verify(p => p.AvailableFreeSpace, Times.AtLeastOnce()); + } + [RetryFact(5, 250)] public async Task GivenAInferenceRequestWithFromTheDatabaseWithPendingDownloads_AtServiceStartup_ExpectToNotDownloadPreviouslyRetrievedFiles() { diff --git a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs index 451d0633d..7e9323d8a 100644 --- a/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs +++ b/src/InformaticsGateway/Test/Services/DicomWeb/StreamsWriterTest.cs @@ -53,6 +53,7 @@ public StreamsWriterTest() _configuration = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<StreamsWriter>>(); _fileSystem = new MockFileSystem(); + _configuration.Value.Storage.LocalTemporaryStoragePath = "./temp"; } [Fact] diff --git a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs index b5eed2057..2ef90730c 100644 --- a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs @@ -32,6 +32,7 @@ using Monai.Deploy.InformaticsGateway.DicomWeb.Client; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Export; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Common; @@ -56,6 +57,7 @@ public class DicomWebExportServiceTest private readonly Mock<ILogger<DicomWebExportService>> _logger; private readonly Mock<ILogger<DicomWebClient>> _loggerDicomWebClient; private readonly IOptions<InformaticsGatewayConfiguration> _configuration; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly CancellationTokenSource _cancellationTokenSource; private Mock<HttpMessageHandler> _handlerMock; private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; @@ -75,6 +77,8 @@ public DicomWebExportServiceTest() _cancellationTokenSource = new CancellationTokenSource(); _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _dicomToolkit = new Mock<IDicomToolkit>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableForExport).Returns(true); var serviceProvider = new Mock<IServiceProvider>(); serviceProvider @@ -89,6 +93,9 @@ public DicomWebExportServiceTest() serviceProvider .Setup(x => x.GetService(typeof(IStorageService))) .Returns(_storageService.Object); + serviceProvider + .Setup(x => x.GetService(typeof(IStorageInfoProvider))) + .Returns(_storageInfoProvider.Object); var scope = new Mock<IServiceScope>(); scope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); diff --git a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs index f0f167bcd..5025c241b 100644 --- a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs @@ -24,6 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Services.Export; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Common; @@ -74,6 +75,7 @@ public class ExportServiceBaseTest private readonly Mock<IMessageBrokerSubscriberService> _messageSubscriberService; private readonly Mock<IMessageBrokerPublisherService> _messagePublisherService; private readonly Mock<ILogger> _logger; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly IOptions<InformaticsGatewayConfiguration> _configuration; private readonly CancellationTokenSource _cancellationTokenSource; private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; @@ -84,6 +86,7 @@ public ExportServiceBaseTest() _messageSubscriberService = new Mock<IMessageBrokerSubscriberService>(); _messagePublisherService = new Mock<IMessageBrokerPublisherService>(); _logger = new Mock<ILogger>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); _configuration = Options.Create(new InformaticsGatewayConfiguration()); _cancellationTokenSource = new CancellationTokenSource(); _serviceScopeFactory = new Mock<IServiceScopeFactory>(); @@ -98,6 +101,10 @@ public ExportServiceBaseTest() serviceProvider .Setup(x => x.GetService(typeof(IStorageService))) .Returns(_storageService.Object); + serviceProvider + .Setup(x => x.GetService(typeof(IStorageInfoProvider))) + .Returns(_storageInfoProvider.Object); + var scope = new Mock<IServiceScope>(); scope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); @@ -105,6 +112,7 @@ public ExportServiceBaseTest() _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(scope.Object); _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableForExport).Returns(true); } [RetryFact(5, 250, DisplayName = "Data flow test - can start/stop")] @@ -118,6 +126,33 @@ public async Task DataflowTest_StartStop() _logger.VerifyLogging($"{service.ServiceName} is stopping.", LogLevel.Information, Times.Once()); } + [RetryFact(10, 10, DisplayName = "Data flow test - reject on insufficient storage space")] + public async Task DataflowTest_RejectOnInsufficientStorageSpace() + { + _storageInfoProvider.Setup(p => p.HasSpaceAvailableForExport).Returns(false); + + _messageSubscriberService.Setup(p => p.Reject(It.IsAny<MessageBase>(), It.IsAny<bool>())); + _messageSubscriberService.Setup( + p => p.Subscribe(It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<Action<MessageReceivedEventArgs>>(), + It.IsAny<ushort>())) + .Callback((string topic, string queue, Action<MessageReceivedEventArgs> messageReceivedCallback, ushort prefetchCount) => + { + messageReceivedCallback(CreateMessageReceivedEventArgs()); + }); + + var service = new TestExportService(_logger.Object, _configuration, _serviceScopeFactory.Object); + await service.StartAsync(_cancellationTokenSource.Token); + await StopAndVerify(service); + + _messageSubscriberService.Verify(p => p.Reject(It.IsAny<Message>(), It.IsAny<bool>()), Times.Once()); + _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<Action<MessageReceivedEventArgs>>(), + It.IsAny<ushort>()), Times.Once()); + } + [RetryFact(10, 10, DisplayName = "Data flow test - payload download failure")] public async Task DataflowTest_PayloadDownlaodFailure() { diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index 306381a41..65fde92bc 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -29,6 +29,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Export; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Common; @@ -52,6 +53,7 @@ public class ScuExportServiceTest : IClassFixture<DicomScpFixture>, IDisposable private readonly IOptions<InformaticsGatewayConfiguration> _configuration; private readonly Mock<IDicomToolkit> _dicomToolkit; private readonly Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>> _repository; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly CancellationTokenSource _cancellationTokenSource; private readonly DicomScpFixture _dicomScp; @@ -72,6 +74,7 @@ public ScuExportServiceTest(DicomScpFixture dicomScp) _dicomToolkit = new Mock<IDicomToolkit>(); _cancellationTokenSource = new CancellationTokenSource(); _repository = new Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); var serviceProvider = new Mock<IServiceProvider>(); serviceProvider @@ -86,6 +89,9 @@ public ScuExportServiceTest(DicomScpFixture dicomScp) serviceProvider .Setup(x => x.GetService(typeof(IStorageService))) .Returns(_storageService.Object); + serviceProvider + .Setup(x => x.GetService(typeof(IStorageInfoProvider))) + .Returns(_storageInfoProvider.Object); var scope = new Mock<IServiceScope>(); scope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); @@ -95,6 +101,7 @@ public ScuExportServiceTest(DicomScpFixture dicomScp) _dicomScp.Start(_port); _configuration.Value.Export.Retries.DelaysMilliseconds = new[] { 1 }; _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableForExport).Returns(true); } [RetryFact(5, 250, DisplayName = "Constructor - throws on null params")] diff --git a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs index 5cfcecca8..8613f037c 100644 --- a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs @@ -54,6 +54,7 @@ public class MllpServiceTest private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<ILogger<MllpService>> _logger; private readonly IServiceProvider _serviceProvider; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; public MllpServiceTest() { @@ -67,6 +68,7 @@ public MllpServiceTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _tcpListener = new Mock<ITcpListener>(); _fileSystem = new Mock<IFileSystem>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); _cancellationTokenSource = new CancellationTokenSource(); _serviceScope = new Mock<IServiceScope>(); @@ -81,6 +83,8 @@ public MllpServiceTest() services.AddScoped(p => _uploadQueue.Object); services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _fileSystem.Object); + services.AddScoped(p => _storageInfoProvider.Object); + _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); @@ -91,6 +95,7 @@ public MllpServiceTest() _loggerFactory.Setup(p => p.CreateLogger(It.IsAny<string>())).Returns(_logger.Object); _tcpListenerFactory.Setup(p => p.CreateTcpListener(It.IsAny<IPAddress>(), It.IsAny<int>())).Returns(_tcpListener.Object); _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); } [RetryFact()] @@ -243,6 +248,28 @@ public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDispos client.Verify(p => p.Dispose(), Times.Exactly(callCount)); } + [RetryFact] + public async Task GivenATcpClientWithHl7Messages_WhenStorageSpaceIsLow_ExpectToDisconnect() + { + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); + var checkEvent = new ManualResetEventSlim(); + var client = new Mock<IMllpClient>(); + var clientAdapter = new Mock<ITcpClientAdapter>(); + + _tcpListener.Setup(p => p.AcceptTcpClientAsync(It.IsAny<CancellationToken>())) + .Returns(ValueTask.FromResult(clientAdapter.Object)); + + var service = new MllpService(_serviceScopeFactory.Object, _options); + _ = service.StartAsync(_cancellationTokenSource.Token); + + _cancellationTokenSource.CancelAfter(400); + await Task.Delay(500).ConfigureAwait(false); + + clientAdapter.Verify(p => p.Close(), Times.AtLeastOnce()); + _uploadQueue.Verify(p => p.Queue(It.IsAny<FileStorageMetadata>()), Times.Never()); + _payloadAssembler.Verify(p => p.Queue(It.IsAny<string>(), It.IsAny<FileStorageMetadata>()), Times.Never()); + } + [RetryFact] public async Task GivenATcpClientWithHl7Messages_WhenDisconnected_ExpectMessageToBeQueued() { diff --git a/src/InformaticsGateway/Test/Services/Http/DicomWeb/StowControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DicomWeb/StowControllerTest.cs index c82b2106e..050af44bc 100644 --- a/src/InformaticsGateway/Test/Services/Http/DicomWeb/StowControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DicomWeb/StowControllerTest.cs @@ -25,6 +25,7 @@ using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Services.DicomWeb; using Monai.Deploy.InformaticsGateway.Services.Http.DicomWeb; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Moq; using Xunit; @@ -38,6 +39,7 @@ public class StowControllerTest private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<IStowService> _stowService; private readonly Mock<ILogger<StowController>> _logger; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; public StowControllerTest() { @@ -45,6 +47,7 @@ public StowControllerTest() _stowService = new Mock<IStowService>(); _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _serviceScope = new Mock<IServiceScope>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); _problemDetailsFactory = new Mock<ProblemDetailsFactory>(); _problemDetailsFactory.Setup(_ => _.CreateProblemDetails( @@ -75,6 +78,9 @@ public StowControllerTest() serviceProvider .Setup(x => x.GetService(typeof(IStowService))) .Returns(_stowService.Object); + serviceProvider + .Setup(x => x.GetService(typeof(IStorageInfoProvider))) + .Returns(_storageInfoProvider.Object); _serviceScope.SetupGet(p => p.ServiceProvider).Returns(serviceProvider.Object); _serviceScopeFactory.Setup(p => p.CreateScope()) @@ -87,6 +93,27 @@ public StowControllerTest() ProblemDetailsFactory = _problemDetailsFactory.Object, ControllerContext = controllerContext }; + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); + } + + [Theory(DisplayName = "StoreInstances - returns ProblemDetails when storage space is low")] + [InlineData("")] + [InlineData("workflow")] + public async Task StoreInstances_ReturnsProblemDetailWhenStorageSpaceIsLow(string workflow) + { + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); + + var result = await _controller.StoreInstances(workflow); + Assert.NotNull(result); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + objectResult = objectResult.Value as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("Insufficient Storage", problem.Title); + Assert.Null(problem.Detail); + Assert.Equal(StatusCodes.Status507InsufficientStorage, problem.Status); } [Theory(DisplayName = "StoreInstances - returns ProblemDetails on exception")] diff --git a/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs index b3b1babd0..c7555f12c 100644 --- a/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/Fhir/FhirControllerTest.cs @@ -23,6 +23,7 @@ using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Services.Fhir; using Monai.Deploy.InformaticsGateway.Services.Http.Fhir; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Moq; using Xunit; using ContentTypes = Monai.Deploy.InformaticsGateway.Services.Fhir.ContentTypes; @@ -38,6 +39,7 @@ public class FhirControllerTest private readonly Mock<IServiceScope> _serviceScope; private readonly IServiceProvider _serviceProvider; private readonly FhirController _controller; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; public FhirControllerTest() { @@ -45,11 +47,13 @@ public FhirControllerTest() _fhirService = new Mock<IFhirService>(); _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _serviceScope = new Mock<IServiceScope>(); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); var services = new ServiceCollection(); services.AddScoped(p => _fhirService.Object); services.AddScoped(p => _serviceScopeFactory.Object); services.AddScoped(p => _logger.Object); + services.AddScoped(p => _storageInfoProvider.Object); _serviceProvider = services.BuildServiceProvider(); @@ -64,6 +68,23 @@ public FhirControllerTest() }; _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); + } + + [Theory] + [InlineData(ContentTypes.ApplicationFhirJson)] + [InlineData(ContentTypes.ApplicationFhirXml)] + public async Task Create_WhenStorageSpaceIsLow_Returns507(string contentType) + { + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); + + var result = await _controller.Create(); + Assert.NotNull(result); + var objectResult = result as ObjectResult; + Assert.NotNull(objectResult); + Assert.Equal(StatusCodes.Status507InsufficientStorage, objectResult.StatusCode); + + _controller.Dispose(); } [Theory] diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs index 27ad11f6d..df1c0ad0e 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs @@ -17,11 +17,9 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Linq.Expressions; using System.Net; using System.Threading; using System.Threading.Tasks; -using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Infrastructure; @@ -179,6 +177,7 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() #endregion GetAeTitle #region Create + [Fact(DisplayName = "Create - Shall return Conflict if entity already exists")] public async Task Create_ShallReturnConflictIfIEntityAlreadyExists() { @@ -201,7 +200,6 @@ public async Task Create_ShallReturnConflictIfIEntityAlreadyExists() Assert.Equal("AE Title already exists", problem.Title); Assert.Equal("A MONAI Application Entity with the same name 'AET1' already exists.", problem.Detail); Assert.Equal((int)HttpStatusCode.Conflict, problem.Status); - } [Fact(DisplayName = "Create - Shall return BadRequest when validation fails")] diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs index a824058af..023b618dd 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs @@ -29,6 +29,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Scp; +using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; using xRetry; @@ -49,6 +50,7 @@ public class ApplicationEntityManagerTest private readonly Mock<IServiceScope> _serviceScope; private readonly Mock<ILogger<ApplicationEntityManager>> _logger; private readonly Mock<ILogger<MonaiAeChangedNotificationService>> _loggerNotificationService; + private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly Mock<IInformaticsGatewayRepository<SourceApplicationEntity>> _sourceEntityRepository; private readonly Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>> _applicationEntityRepository; @@ -67,6 +69,7 @@ public ApplicationEntityManagerTest() _loggerNotificationService = new Mock<ILogger<MonaiAeChangedNotificationService>>(); _monaiAeChangedNotificationService = new MonaiAeChangedNotificationService(_loggerNotificationService.Object); + _storageInfoProvider = new Mock<IStorageInfoProvider>(); _sourceEntityRepository = new Mock<IInformaticsGatewayRepository<SourceApplicationEntity>>(); _applicationEntityRepository = new Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>>(); _connfiguration = Options.Create(new InformaticsGatewayConfiguration()); @@ -77,6 +80,7 @@ public ApplicationEntityManagerTest() services.AddScoped(p => _sourceEntityRepository.Object); services.AddScoped(p => _applicationEntityRepository.Object); services.AddScoped(p => _dicomToolkit); + services.AddScoped(p => _storageInfoProvider.Object); _serviceProvider = services.BuildServiceProvider(); @@ -88,6 +92,7 @@ public ApplicationEntityManagerTest() return _logger.Object; }); _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); } [RetryFact(5, 250, DisplayName = "HandleCStoreRequest - Shall throw if AE Title not configured")] @@ -107,6 +112,43 @@ public async Task HandleCStoreRequest_ShallThrowIfAENotConfigured() Assert.Equal("Called AE Title 'BADAET' is not configured", exception.Message); } + [RetryFact(5, 250, DisplayName = "HandleCStoreRequest - Throws when available storage space is low")] + public async Task HandleCStoreRequest_ThrowWhenOnLowStorageSpace() + { + _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); + _storageInfoProvider.Setup(p => p.AvailableFreeSpace).Returns(100); + var aet = "TESTAET"; + + var data = new List<MonaiApplicationEntity>() + { + new MonaiApplicationEntity() + { + AeTitle = aet, + Name =aet + } + }; + _applicationEntityRepository.Setup(p => p.AsQueryable()).Returns(data.AsQueryable()); + var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, + _serviceScopeFactory.Object, + _monaiAeChangedNotificationService, + _connfiguration); + + var request = GenerateRequest(); + await Assert.ThrowsAsync<InsufficientStorageAvailableException>(async () => + { + await manager.HandleCStoreRequest(request, aet, "CallingAET", Guid.NewGuid()); + }); + + _logger.VerifyLogging($"{aet} added to AE Title Manager.", LogLevel.Information, Times.Once()); + _logger.VerifyLoggingMessageBeginsWith($"Preparing to save:", LogLevel.Debug, Times.Never()); + _logger.VerifyLoggingMessageBeginsWith($"Instanced saved", LogLevel.Information, Times.Never()); + _logger.VerifyLoggingMessageBeginsWith($"Instance queued for upload", LogLevel.Information, Times.Never()); + + _applicationEntityRepository.Verify(p => p.AsQueryable(), Times.Once()); + _storageInfoProvider.Verify(p => p.HasSpaceAvailableToStore, Times.AtLeastOnce()); + _storageInfoProvider.Verify(p => p.AvailableFreeSpace, Times.AtLeastOnce()); + } + [RetryFact(5, 250, DisplayName = "GetService - Shall return request service")] public void GetService_ShallReturnRequestedServicec() { diff --git a/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs b/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs index 5450b7be5..b626280b7 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs @@ -232,6 +232,38 @@ public async Task CStore_ShallRejecOnLowStorageSpace() Assert.True(countdownEvent.Wait(2000)); } + [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - InsufficientStorageAvailableException")] + public async Task CStore_OnCStoreRequest_InsufficientStorageAvailableException() + { + _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.CanStore).Returns(true); + _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())).Throws(new InsufficientStorageAvailableException()); + + var countdownEvent = new CountdownEvent(3); + var service = CreateService(); + + var client = DicomClientFactory.Create("localhost", _configuration.Value.Dicom.Scp.Port, false, "STORESCU", "STORESCP"); + var request = new DicomCStoreRequest(InstanceGenerator.GenerateDicomFile()); + await client.AddRequestAsync(request); + client.AssociationAccepted += (sender, e) => + { + countdownEvent.Signal(); + }; + client.AssociationReleased += (sender, e) => + { + countdownEvent.Signal(); + }; + request.OnResponseReceived += (DicomCStoreRequest request, DicomCStoreResponse response) => + { + Assert.Equal(DicomStatus.ResourceLimitation, response.Status); + countdownEvent.Signal(); + }; + + await client.SendAsync(); + Assert.True(countdownEvent.Wait(2000)); + } + [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - IOException")] public async Task CStore_OnCStoreRequest_IoException() { diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs index 8bb625313..8c5c44aee 100644 --- a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -26,6 +26,7 @@ using Monai.Deploy.InformaticsGateway.Services.Scu; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; +using xRetry; using Xunit; namespace Monai.Deploy.InformaticsGateway.Test.Services.Scu @@ -70,7 +71,7 @@ public ScuServiceTest(DicomScpFixture dicomScp) _dicomScp.Start(_port); } - [Fact] + [RetryFact] public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new ScuService(null, null, null)); @@ -79,7 +80,7 @@ public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() _ = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); } - [Fact] + [RetryFact] public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -88,7 +89,7 @@ public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() Assert.Equal(ServiceStatus.Running, svc.Status); } - [Fact] + [RetryFact] public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -105,7 +106,7 @@ public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess Assert.Empty(response.Message); } - [Fact] + [RetryFact] public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -122,7 +123,7 @@ public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejecte Assert.StartsWith("Association rejected", response.Message); } - [Fact] + [RetryFact] public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -139,7 +140,7 @@ public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted( Assert.StartsWith("Association Abort", response.Message); } - [Fact] + [RetryFact] public async Task GivenACEchoRequest_WhenRemoteServerIsUnreachable_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); diff --git a/src/InformaticsGateway/Test/Services/Storage/StorageInfoProviderTest.cs b/src/InformaticsGateway/Test/Services/Storage/StorageInfoProviderTest.cs new file mode 100644 index 000000000..ce3204da8 --- /dev/null +++ b/src/InformaticsGateway/Test/Services/Storage/StorageInfoProviderTest.cs @@ -0,0 +1,119 @@ +// Copyright 2021 MONAI Consortium +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +using System.IO; +using System.IO.Abstractions; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Services.Storage; +using Monai.Deploy.InformaticsGateway.SharedTest; +using Moq; +using xRetry; +using Xunit; + +namespace Monai.Deploy.InformaticsGateway.Test.Services.Storage +{ + public class StorageInfoProviderTest + { + private const long OneGB = 1000000000; + private readonly Mock<IFileSystem> _fileSystem; + private readonly Mock<ILogger<StorageInfoProvider>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _configuration; + private readonly Mock<IDriveInfo> _driveInfo; + + public StorageInfoProviderTest() + { + _fileSystem = new Mock<IFileSystem>(); + _logger = new Mock<ILogger<StorageInfoProvider>>(); + _configuration = Options.Create(new InformaticsGatewayConfiguration()); + _driveInfo = new Mock<IDriveInfo>(); + + _fileSystem.Setup(p => p.DriveInfo.FromDriveName(It.IsAny<string>())) + .Returns(_driveInfo.Object); + _fileSystem.Setup(p => p.Directory.CreateDirectory(It.IsAny<string>())); + _fileSystem.Setup(p => p.Path.GetFullPath(It.IsAny<string>())).Returns((string path) => System.IO.Path.GetFullPath(path)); + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [RetryFact(5, 250, DisplayName = "Available free space")] + public void AvailableFreeSpace() + { + var totalSize = 10 * OneGB; + var freeSpace = 9 * OneGB; + _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace); + _driveInfo.Setup(p => p.TotalSize).Returns(totalSize); + _configuration.Value.Storage.Watermark = 10; + _configuration.Value.Storage.ReserveSpaceGB = 1; + _configuration.Value.Storage.LocalTemporaryStoragePath = "./payloads"; + + var path = Path.GetFullPath(_configuration.Value.Storage.LocalTemporaryStoragePath); + var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object); + + Assert.Equal(freeSpace, storageInfoProvider.AvailableFreeSpace); + _logger.VerifyLogging($"Temporary Storage Path={path}. Storage Size: {totalSize:N0}. Reserved: {(9 * OneGB):N0}.", LogLevel.Information, Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Space is available...")] + public void HasSpaceAvailableTo() + { + var totalSize = 10 * OneGB; + var freeSpace = 9 * OneGB; + _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace); + _driveInfo.Setup(p => p.TotalSize).Returns(totalSize); + _configuration.Value.Storage.Watermark = 90; + _configuration.Value.Storage.ReserveSpaceGB = 1; + var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object); + + Assert.True(storageInfoProvider.HasSpaceAvailableForExport); + Assert.True(storageInfoProvider.HasSpaceAvailableToRetrieve); + Assert.True(storageInfoProvider.HasSpaceAvailableToStore); + + _logger.VerifyLogging($"Storage Size: {totalSize:N0}. Reserved: {(OneGB):N0}. Available: {freeSpace:N0}.", LogLevel.Debug, Times.Never()); + } + + [RetryFact(5, 250, DisplayName = "Space usage is above watermark")] + public void SpaceUsageAboveWatermark() + { + var totalSize = 10 * OneGB; + var freeSpace = 5 * OneGB; + _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace); + _driveInfo.Setup(p => p.TotalSize).Returns(totalSize); + _configuration.Value.Storage.Watermark = 10; + _configuration.Value.Storage.ReserveSpaceGB = 1; + var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object); + + Assert.False(storageInfoProvider.HasSpaceAvailableForExport); + Assert.False(storageInfoProvider.HasSpaceAvailableToRetrieve); + Assert.False(storageInfoProvider.HasSpaceAvailableToStore); + + _logger.VerifyLogging($"Storage Size: {totalSize:N0}. Reserved: {(9 * OneGB):N0}. Available: {freeSpace:N0}.", LogLevel.Information, Times.Exactly(3)); + } + + [RetryFact(5, 250, DisplayName = "Reserved space is low")] + public void ReservedSpaceIsLow() + { + var totalSize = 10 * OneGB; + var freeSpace = 5 * OneGB; + _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace); + _driveInfo.Setup(p => p.TotalSize).Returns(totalSize); + _configuration.Value.Storage.Watermark = 99; + _configuration.Value.Storage.ReserveSpaceGB = 9; + var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object); + + Assert.False(storageInfoProvider.HasSpaceAvailableForExport); + Assert.False(storageInfoProvider.HasSpaceAvailableToRetrieve); + Assert.False(storageInfoProvider.HasSpaceAvailableToStore); + + _logger.VerifyLogging($"Storage Size: {totalSize:N0}. Reserved: {(9 * OneGB):N0}. Available: {freeSpace:N0}.", LogLevel.Information, Times.Exactly(3)); + } + } +} diff --git a/src/InformaticsGateway/appsettings.Development.json b/src/InformaticsGateway/appsettings.Development.json index adb443ca5..fd647a3b8 100644 --- a/src/InformaticsGateway/appsettings.Development.json +++ b/src/InformaticsGateway/appsettings.Development.json @@ -27,6 +27,7 @@ } }, "storage": { + "localTemporaryStoragePath": "./payloads", "settings": { "endpoint": "localhost:9000", "accessKey": "minioadmin", diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 7994f64b7..9d6626cb9 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -38,12 +38,14 @@ } }, "storage": { - "bufferRootPath": "./temp", - "tempStorageRootPath": "/incoming", + "localTemporaryStoragePath": "/payloads", + "remoteTemporaryStoragePath": "/incoming", "bucketName": "monaideploy", "storageRootPath": "/payloads", "temporaryBucketName": "monaideploy", "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", + "watermarkPercent": 75, + "reserveSpaceGB": 5, "settings": { "endpoint": "localhost:9000", "accessKey": "admin", diff --git a/tests/Integration.Test/configs/informatics-gateway.json b/tests/Integration.Test/configs/informatics-gateway.json index c6306be8f..9a7e749b8 100644 --- a/tests/Integration.Test/configs/informatics-gateway.json +++ b/tests/Integration.Test/configs/informatics-gateway.json @@ -38,12 +38,14 @@ } }, "storage": { - "bufferRootPath": "/payloads", - "tempStorageRootPath": "/incoming", + "localTemporaryStoragePath": "/payloads", + "remoteTemporaryStoragePath": "/incoming", "bucketName": "monaideploy", "storageRootPath": "/payloads", "temporaryBucketName": "monaideploy", "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", + "watermarkPercent": 90, + "reserveSpaceGB": 1, "settings": { "endpoint": "minio:9000", "accessKey": "minioadmin", From 358f400b70a0e4502ee49d38d64c9f8964282f9b Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 5 Oct 2022 07:59:53 -0700 Subject: [PATCH 054/101] APIs to update DICOM source and destination (#197) * gh-195 APIs to update DICOM source and destination * Use ICollectionFIxture to share SCP listener context Signed-off-by: Victor Chang <vicchang@nvidia.com> --- docs/api/rest/config.md | 136 +++++++++++++++--- src/CLI/Commands/DestinationCommand.cs | 56 ++++++++ src/CLI/Commands/SourceCommand.cs | 52 +++++++ src/CLI/ExitCodes.cs | 2 + src/CLI/Logging/Log.cs | 12 ++ src/CLI/Test/DestinationCommandTest.cs | 68 +++++++++ src/CLI/Test/SourceCommandTest.cs | 66 +++++++++ src/Client/Services/AeTitle{T}Service.cs | 12 ++ src/Client/Test/AeTitleServiceTest.cs | 70 +++++++++ .../Logging/Log.100.200.ScpService.cs | 4 +- .../Logging/Log.8000.HttpServices.cs | 8 +- .../Http/DestinationAeTitleController.cs | 60 +++++++- .../Services/Http/MonaiHealthCheck.cs | 1 - .../Services/Http/SourceAeTitleController.cs | 60 +++++++- .../Services/Scp/ScpServiceInternal.cs | 10 +- .../Services/Export/ScuExportServiceTest.cs | 26 +--- .../Http/DestinationAeTitleControllerTest.cs | 115 ++++++++++++++- .../Http/SourceAeTitleControllerTest.cs | 114 ++++++++++++++- .../Test/Services/Scu/ScuServiceTest.cs | 26 +--- .../Test/Shared/DicomScpFixture.cs | 8 +- 20 files changed, 822 insertions(+), 84 deletions(-) diff --git a/docs/api/rest/config.md b/docs/api/rest/config.md index 97f63979c..874b9bebe 100644 --- a/docs/api/rest/config.md +++ b/docs/api/rest/config.md @@ -144,16 +144,16 @@ Response Content Type: JSON - [MonaiApplicationEntity](xref:Monai.Deploy.Informa ```bash curl --location --request POST 'http://localhost:5000/config/ae/' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "name": "breast-tumor", - "aeTitle": "BREASTV1", - "timeout": 5, - "workflows": [ - "3f6a08a1-0dea-44e9-ab82-1ff1adf43a8e" - ] - } -}' + --header 'Content-Type: application/json' \ + --data-raw '{ + "name": "breast-tumor", + "aeTitle": "BREASTV1", + "timeout": 5, + "workflows": [ + "3f6a08a1-0dea-44e9-ab82-1ff1adf43a8e" + ] + } + }' ``` ### Example Response @@ -310,12 +310,56 @@ Response Content Type: JSON - [SourceApplicationEntity](xref:Monai.Deploy.Inform ```bash curl --location --request POST 'http://localhost:5000/config/source' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "name": "USEAST", - "hostIp": "10.20.3.4", - "aeTitle": "PACSUSEAST" -}' + --header 'Content-Type: application/json' \ + --data-raw '{ + "name": "USEAST", + "hostIp": "10.20.3.4", + "aeTitle": "PACSUSEAST" + }' +``` + +### Example Response + +```json +{ + "name": "USEAST", + "aeTitle": "PACSUSEAST", + "hostIp": "10.20.3.4" +} +``` + +--- + +## PUT /config/source + +Updates an existing calling (source) AE Title. + +### Parameters + +See the [SourceApplicationEntity](xref:Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity) +class definition for details. + +### Responses + +Response Content Type: JSON - [SourceApplicationEntity](xref:Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity). + +| Code | Description | +| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 200 | AE Title updated successfully. | +| 400 | Validation error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with details of the validation errors . | +| 404 | DICOM source cannot be found. | +| 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | + +### Example Request + +```bash +curl --location --request PUT 'http://localhost:5000/config/source' \ + --header 'Content-Type: application/json' \ + --data-raw '{ + "name": "USEAST", + "hostIp": "10.20.3.4", + "aeTitle": "PACSUSEAST" + }' ``` ### Example Response @@ -479,6 +523,52 @@ curl --location --request DELETE 'http://localhost:5000/config/destination/cecho --- +## PUT /config/destination + +Updates an existing DICOM destination. + +### Parameters + +See the [DestinationApplicationEntity](xref:Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity) +class definition for details. + +### Responses + +Response Content Type: JSON - [DestinationApplicationEntity](xref:Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity). + +| Code | Description | +| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 200 | DICOM destination updated successfully. | +| 400 | Validation error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with details of the validation errors . | +| 404 | DICOM destination cannot be found. | +| 500 | Server error. The response will be a [Problem details](https://datatracker.ietf.org/doc/html/rfc7807) object with server error details. | + +### Example Request + +```bash +curl --location --request PUT 'http://localhost:5000/config/destination' \ + --header 'Content-Type: application/json' \ + --data-raw '{ + "name": "USEAST", + "hostIp": "10.20.3.4", + "port": 104, + "aeTitle": "PACSUSEAST" + }' +``` + +### Example Response + +```json +{ + "port": 104, + "name": "USEAST", + "aeTitle": "PACSUSEAST", + "hostIp": "10.20.3.4" +} +``` + +--- + ## POST /config/destination Adds a new DICOM destination AET for exporting results to. @@ -502,13 +592,13 @@ Response Content Type: JSON - [DestinationApplicationEntity](xref:Monai.Deploy.I ```bash curl --location --request POST 'http://localhost:5000/config/destination' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "name": "USEAST", - "hostIp": "10.20.3.4", - "port": 104, - "aeTitle": "PACSUSEAST" -}' + --header 'Content-Type: application/json' \ + --data-raw '{ + "name": "USEAST", + "hostIp": "10.20.3.4", + "port": 104, + "aeTitle": "PACSUSEAST" + }' ``` ### Example Response diff --git a/src/CLI/Commands/DestinationCommand.cs b/src/CLI/Commands/DestinationCommand.cs index a04929972..044000b8f 100644 --- a/src/CLI/Commands/DestinationCommand.cs +++ b/src/CLI/Commands/DestinationCommand.cs @@ -41,6 +41,7 @@ public DestinationCommand() : base("dst", "Configure DICOM destinations") AddAlias("destination"); SetupAddDestinationCommand(); + SetupEditDestinationCommand(); SetupRemoveDestinationCommand(); SetupListDestinationCommand(); SetupCEchoCommand(); @@ -67,6 +68,23 @@ private void SetupListDestinationCommand() listCommand.Handler = CommandHandler.Create<DestinationApplicationEntity, IHost, bool, CancellationToken>(ListDestinationHandlerAsync); } + private void SetupEditDestinationCommand() + { + var addCommand = new Command("update", "Update a new DICOM destination"); + AddCommand(addCommand); + + var nameOption = new Option<string>(new string[] { "--name", "-n" }, "Name of the DICOM destination") { IsRequired = false }; + addCommand.AddOption(nameOption); + var aeTitleOption = new Option<string>(new string[] { "--aetitle", "-a" }, "AE Title of the DICOM destination") { IsRequired = true }; + addCommand.AddOption(aeTitleOption); + var hostOption = new Option<string>(new string[] { "--host-ip", "-h" }, "Host or IP address of the DICOM destination") { IsRequired = true }; + addCommand.AddOption(hostOption); + var portOption = new Option<int>(new string[] { "--port", "-p" }, "Listening port of the DICOM destination") { IsRequired = true }; + addCommand.AddOption(portOption); + + addCommand.Handler = CommandHandler.Create<DestinationApplicationEntity, IHost, bool, CancellationToken>(EditDestinationHandlerAsync); + } + private void SetupRemoveDestinationCommand() { var removeCommand = new Command("rm", "Remove a DICOM destination"); @@ -234,6 +252,44 @@ private async Task<int> RemoveDestinationHandlerAsync(string name, IHost host, b return ExitCodes.Success; } + private async Task<int> EditDestinationHandlerAsync(DestinationApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) + { + Guard.Against.Null(entity, nameof(entity)); + Guard.Against.Null(host, nameof(host)); + + LogVerbose(verbose, host, "Configuring services..."); + var configService = host.Services.GetRequiredService<IConfigurationService>(); + var client = host.Services.GetRequiredService<IInformaticsGatewayClient>(); + var logger = CreateLogger<DestinationCommand>(host); + + Guard.Against.Null(logger, nameof(logger), "Logger is unavailable."); + Guard.Against.Null(configService, nameof(configService), "Configuration service is unavailable."); + Guard.Against.Null(client, nameof(client), $"{Strings.ApplicationName} client is unavailable."); + + try + { + CheckConfiguration(configService); + client.ConfigureServiceUris(configService.Configurations.InformaticsGatewayServerUri); + + LogVerbose(verbose, host, $"Connecting to {Strings.ApplicationName} at {configService.Configurations.InformaticsGatewayServerEndpoint}..."); + LogVerbose(verbose, host, $"Updating DICOM destination {entity.AeTitle}..."); + var result = await client.DicomDestinations.Update(entity, cancellationToken).ConfigureAwait(false); + + logger.DicomDestinationCreated(result.Name, result.AeTitle, result.HostIp, result.Port); + } + catch (ConfigurationException ex) + { + logger.ConfigurationException(ex.Message); + return ExitCodes.Config_NotConfigured; + } + catch (Exception ex) + { + logger.ErrorUpdatingDicomDestination(entity.AeTitle, ex.Message); + return ExitCodes.DestinationAe_ErrorUpdate; + } + return ExitCodes.Success; + } + private async Task<int> AddDestinationHandlerAsync(DestinationApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) { Guard.Against.Null(entity, nameof(entity)); diff --git a/src/CLI/Commands/SourceCommand.cs b/src/CLI/Commands/SourceCommand.cs index 9689637f2..dc94e702b 100644 --- a/src/CLI/Commands/SourceCommand.cs +++ b/src/CLI/Commands/SourceCommand.cs @@ -40,10 +40,12 @@ public SourceCommand() : base("src", "Configure DICOM sources") AddAlias("source"); SetupAddSourceCommand(); + SetupUpdateSourceCommand(); SetupRemoveSourceCommand(); SetupListSourceCommand(); } + private void SetupListSourceCommand() { var listCommand = new Command("ls", "List all DICOM sources"); @@ -79,6 +81,20 @@ private void SetupAddSourceCommand() addCommand.Handler = CommandHandler.Create<SourceApplicationEntity, IHost, bool, CancellationToken>(AddSourceHandlerAsync); } + private void SetupUpdateSourceCommand() + { + var addCommand = new Command("update", "Update a new DICOM source"); + AddCommand(addCommand); + + var nameOption = new Option<string>(new string[] { "--name", "-n" }, "Name of the DICOM source") { IsRequired = false }; + addCommand.AddOption(nameOption); + var aeTitleOption = new Option<string>(new string[] { "--aetitle", "-a" }, "AE Title of the DICOM source") { IsRequired = true }; + addCommand.AddOption(aeTitleOption); + var hostOption = new Option<string>(new string[] { "--host-ip", "-h" }, "Host or IP address of the DICOM source") { IsRequired = true }; + addCommand.AddOption(hostOption); + + addCommand.Handler = CommandHandler.Create<SourceApplicationEntity, IHost, bool, CancellationToken>(UpdateSourceHandlerAsync); + } private async Task<int> ListSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) { @@ -217,5 +233,41 @@ private async Task<int> AddSourceHandlerAsync(SourceApplicationEntity entity, IH } return ExitCodes.Success; } + private async Task<int> UpdateSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) + { + Guard.Against.Null(entity, nameof(entity)); + Guard.Against.Null(host, nameof(host)); + + LogVerbose(verbose, host, "Configuring services..."); + var configService = host.Services.GetRequiredService<IConfigurationService>(); + var client = host.Services.GetRequiredService<IInformaticsGatewayClient>(); + var logger = CreateLogger<SourceCommand>(host); + + Guard.Against.Null(logger, nameof(logger), "Logger is unavailable."); + Guard.Against.Null(configService, nameof(configService), "Configuration service is unavailable."); + Guard.Against.Null(client, nameof(client), $"{Strings.ApplicationName} client is unavailable."); + + try + { + CheckConfiguration(configService); + client.ConfigureServiceUris(configService.Configurations.InformaticsGatewayServerUri); + LogVerbose(verbose, host, $"Connecting to {Strings.ApplicationName} at {configService.Configurations.InformaticsGatewayServerEndpoint}..."); + LogVerbose(verbose, host, $"Updating DICOM source {entity.AeTitle}..."); + var result = await client.DicomSources.Update(entity, cancellationTokena).ConfigureAwait(false); + + logger.DicomSourceUpdated(result.Name, result.AeTitle, result.HostIp); + } + catch (ConfigurationException ex) + { + logger.ConfigurationException(ex.Message); + return ExitCodes.Config_NotConfigured; + } + catch (Exception ex) + { + logger.ErrorUpdatingDicomSource(entity.AeTitle, ex.Message); + return ExitCodes.SourceAe_ErrorUpdate; + } + return ExitCodes.Success; + } } } diff --git a/src/CLI/ExitCodes.cs b/src/CLI/ExitCodes.cs index 35577333a..52679a7b9 100644 --- a/src/CLI/ExitCodes.cs +++ b/src/CLI/ExitCodes.cs @@ -33,10 +33,12 @@ public static class ExitCodes public const int DestinationAe_ErrorDelete = 301; public const int DestinationAe_ErrorCreate = 302; public const int DestinationAe_ErrorCEcho = 303; + public const int DestinationAe_ErrorUpdate = 304; public const int SourceAe_ErrorList = 400; public const int SourceAe_ErrorDelete = 401; public const int SourceAe_ErrorCreate = 402; + public const int SourceAe_ErrorUpdate = 403; public const int Restart_Cancelled = 500; public const int Restart_Error = 501; diff --git a/src/CLI/Logging/Log.cs b/src/CLI/Logging/Log.cs index e485a4970..58b2b9598 100644 --- a/src/CLI/Logging/Log.cs +++ b/src/CLI/Logging/Log.cs @@ -169,6 +169,18 @@ public static partial class Log [LoggerMessage(EventId = 30055, Level = LogLevel.Critical, Message = "C-ECHO to {name} failed: {error}.")] public static partial void ErrorCEchogDicomDestination(this ILogger logger, string name, string error); + [LoggerMessage(EventId = 30056, Level = LogLevel.Information, Message = "DICOM destination updated:\r\n\tName: {name}\r\n\tAE Title: {aeTitle}\r\n\tHost/IP Address: {hostIp}\r\n\tPort: {port}")] + public static partial void DicomDestinationUpdated(this ILogger logger, string name, string aeTitle, string hostIp, int port); + + [LoggerMessage(EventId = 30057, Level = LogLevel.Critical, Message = "Error updating DICOM destination {aeTitle}: {message}")] + public static partial void ErrorUpdatingDicomDestination(this ILogger logger, string aeTitle, string message); + + [LoggerMessage(EventId = 30058, Level = LogLevel.Information, Message = "DICOM source updated:\r\n\tName: {name}\r\n\tAE Title: {aeTitle}\r\n\tHost/IP Address: {hostIp}")] + public static partial void DicomSourceUpdated(this ILogger logger, string name, string aeTitle, string hostIp); + + [LoggerMessage(EventId = 30059, Level = LogLevel.Critical, Message = "Error updating DICOM source {aeTitle}: {message}")] + public static partial void ErrorUpdatingDicomSource(this ILogger logger, string aeTitle, string message); + // Docker Runner [LoggerMessage(EventId = 31000, Level = LogLevel.Debug, Message = "Checking for existing {applicationName} ({version}) containers...")] public static partial void CheckingExistingAppContainer(this ILogger logger, string applicationName, string version); diff --git a/src/CLI/Test/DestinationCommandTest.cs b/src/CLI/Test/DestinationCommandTest.cs index 1382e4169..7b742171a 100644 --- a/src/CLI/Test/DestinationCommandTest.cs +++ b/src/CLI/Test/DestinationCommandTest.cs @@ -338,5 +338,73 @@ public async Task DstCEcho_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } + + + [Fact(DisplayName = "dst update command")] + public async Task DstUpdate_Command() + { + var command = "dst update -n MyName -a MyAET -h MyHost -p 100"; + var result = _paser.Parse(command); + Assert.Equal(ExitCodes.Success, result.Errors.Count); + + var entity = new DestinationApplicationEntity() + { + Name = result.CommandResult.Children[0].Tokens[0].Value, + AeTitle = result.CommandResult.Children[1].Tokens[0].Value, + HostIp = result.CommandResult.Children[2].Tokens[0].Value, + Port = int.Parse(result.CommandResult.Children[3].Tokens[0].Value, System.Globalization.NumberStyles.Integer, CultureInfo.InvariantCulture), + }; + + Assert.Equal("MyName", entity.Name); + Assert.Equal("MyAET", entity.AeTitle); + Assert.Equal("MyHost", entity.HostIp); + Assert.Equal(100, entity.Port); + + _informaticsGatewayClient.Setup(p => p.DicomDestinations.Update(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(entity); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Success, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify( + p => p.DicomDestinations.Update( + It.Is<DestinationApplicationEntity>(o => o.AeTitle == entity.AeTitle && o.Name == entity.Name && o.HostIp == entity.HostIp && o.Port == entity.Port), + It.IsAny<CancellationToken>()), Times.Once()); + } + + [Fact(DisplayName = "dst update command exception")] + public async Task DstUpdate_Command_Exception() + { + var command = "dst update -n MyName -a MyAET --apps App MyCoolApp TheApp"; + _informaticsGatewayClient.Setup(p => p.DicomDestinations.Update(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())) + .Throws(new Exception("error")); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.DestinationAe_ErrorUpdate, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify(p => p.DicomDestinations.Update(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); + + _logger.VerifyLoggingMessageBeginsWith("Error updating DICOM destination", LogLevel.Critical, Times.Once()); + } + + [Fact(DisplayName = "dst update command configuration exception")] + public async Task DstUpdate_Command_ConfigurationException() + { + var command = "dst update -n MyName -a MyAET --apps App MyCoolApp TheApp"; + _configurationService.SetupGet(p => p.IsInitialized).Returns(false); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Config_NotConfigured, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Never()); + _informaticsGatewayClient.Verify(p => p.DicomDestinations.List(It.IsAny<CancellationToken>()), Times.Never()); + + _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); + } } } diff --git a/src/CLI/Test/SourceCommandTest.cs b/src/CLI/Test/SourceCommandTest.cs index 833bd16d7..e4d071bca 100644 --- a/src/CLI/Test/SourceCommandTest.cs +++ b/src/CLI/Test/SourceCommandTest.cs @@ -281,5 +281,71 @@ public async Task SrcList_Command_Empty() _logger.VerifyLogging("No DICOM sources configured.", LogLevel.Warning, Times.Once()); } + + [Fact(DisplayName = "src update comand")] + public async Task SrcUpdate_Command() + { + var command = "src update -n MyName -a MyAET -h MyHost"; + var result = _paser.Parse(command); + Assert.Equal(ExitCodes.Success, result.Errors.Count); + + var entity = new SourceApplicationEntity() + { + Name = result.CommandResult.Children[0].Tokens[0].Value, + AeTitle = result.CommandResult.Children[1].Tokens[0].Value, + HostIp = result.CommandResult.Children[2].Tokens[0].Value, + }; + + Assert.Equal("MyName", entity.Name); + Assert.Equal("MyAET", entity.AeTitle); + Assert.Equal("MyHost", entity.HostIp); + + _informaticsGatewayClient.Setup(p => p.DicomSources.Update(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(entity); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Success, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify( + p => p.DicomSources.Update( + It.Is<SourceApplicationEntity>(o => o.AeTitle == entity.AeTitle && o.Name == entity.Name && o.HostIp == entity.HostIp), + It.IsAny<CancellationToken>()), Times.Once()); + } + + [Fact(DisplayName = "src update comand exception")] + public async Task SrcUpdate_Command_Exception() + { + var command = "src update -n MyName -a MyAET --apps App MyCoolApp TheApp"; + _informaticsGatewayClient.Setup(p => p.DicomSources.Update(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())) + .Throws(new Exception("error")); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.SourceAe_ErrorUpdate, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Once()); + _informaticsGatewayClient.Verify(p => p.DicomSources.Update(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); + + _logger.VerifyLoggingMessageBeginsWith("Error updating DICOM source", LogLevel.Critical, Times.Once()); + } + + [Fact(DisplayName = "src update comand configuration exception")] + public async Task SrcUpdate_Command_ConfigurationException() + { + var command = "src update -n MyName -a MyAET --apps App MyCoolApp TheApp"; + _configurationService.SetupGet(p => p.IsInitialized).Returns(false); + + int exitCode = await _paser.InvokeAsync(command); + + Assert.Equal(ExitCodes.Config_NotConfigured, exitCode); + + _informaticsGatewayClient.Verify(p => p.ConfigureServiceUris(It.IsAny<Uri>()), Times.Never()); + _informaticsGatewayClient.Verify(p => p.MonaiScpAeTitle.List(It.IsAny<CancellationToken>()), Times.Never()); + + _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); + } + } } diff --git a/src/Client/Services/AeTitle{T}Service.cs b/src/Client/Services/AeTitle{T}Service.cs index c571953ed..45f5779c5 100644 --- a/src/Client/Services/AeTitle{T}Service.cs +++ b/src/Client/Services/AeTitle{T}Service.cs @@ -35,6 +35,8 @@ public interface IAeTitleService<T> Task<T> Create(T item, CancellationToken cancellationToken); + Task<T> Update(T item, CancellationToken cancellationToken); + Task<T> Delete(string aeTitle, CancellationToken cancellationToken); Task CEcho(string name, CancellationToken cancellationToken); @@ -104,5 +106,15 @@ public async Task CEcho(string name, CancellationToken cancellationToken) var response = await HttpClient.GetAsync($"{Route}/cecho/{name}", cancellationToken).ConfigureAwait(false); await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); } + + public async Task<T> Update(T item, CancellationToken cancellationToken) + { + Guard.Against.Null(item, nameof(item)); + + Logger.SendingRequestTo(Route); + var response = await HttpClient.PutAsJsonAsync(Route, item, Configuration.JsonSerializationOptions, cancellationToken).ConfigureAwait(false); + await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); + return await response.Content.ReadAsAsync<T>(cancellationToken).ConfigureAwait(false); + } } } diff --git a/src/Client/Test/AeTitleServiceTest.cs b/src/Client/Test/AeTitleServiceTest.cs index 181970029..ef68418bd 100644 --- a/src/Client/Test/AeTitleServiceTest.cs +++ b/src/Client/Test/AeTitleServiceTest.cs @@ -109,6 +109,76 @@ public async Task Create_ReturnsAProblem() Assert.Equal($"HTTP Status: {problem.Status}. {problem.Detail}", result.Message); } + [Fact(DisplayName = "AE Title - Update")] + public async Task Update() + { + var aet = new SourceApplicationEntity() + { + AeTitle = "Test", + Name = "Test Name", + HostIp = "1.2.3.4" + }; + + var json = JsonSerializer.Serialize(aet, Configuration.JsonSerializationOptions); + + var rootUri = new Uri("http://localhost:5000"); + var uriPath = "config/source"; + + var httpResponse = new HttpResponseMessage + { + StatusCode = HttpStatusCode.OK, + Content = new StringContent(json, Encoding.UTF8, "application/json") + }; + + var httpClient = SetupHttpClientMock(rootUri, HttpMethod.Put, httpResponse); + + var service = new AeTitleService<SourceApplicationEntity>(uriPath, httpClient, _logger.Object); + + var result = await service.Update(aet, CancellationToken.None); + + Assert.Equal(aet.AeTitle, result.AeTitle); + Assert.Equal(aet.Name, result.Name); + Assert.Equal(aet.HostIp, result.HostIp); + } + + [Fact(DisplayName = "AE Title - Update returns a problem")] + public async Task Update_ReturnsAProblem() + { + var aet = new DestinationApplicationEntity() + { + AeTitle = "Test", + Name = "Test Name", + HostIp = "host", + Port = 123 + }; + + var problem = new ProblemDetails + { + Title = "Problem Title", + Detail = "Problem Detail", + Status = 500 + }; + + var json = JsonSerializer.Serialize(problem, Configuration.JsonSerializationOptions); + + var rootUri = new Uri("http://localhost:5000"); + var uriPath = "config/destination"; + + var httpResponse = new HttpResponseMessage + { + StatusCode = HttpStatusCode.InternalServerError, + Content = new StringContent(json, Encoding.UTF8, "application/json") + }; + + var httpClient = SetupHttpClientMock(rootUri, HttpMethod.Put, httpResponse); + + var service = new AeTitleService<DestinationApplicationEntity>(uriPath, httpClient, _logger.Object); + + var result = await Assert.ThrowsAsync<ProblemException>(async () => await service.Update(aet, CancellationToken.None)); + + Assert.Equal($"HTTP Status: {problem.Status}. {problem.Detail}", result.Message); + } + [Fact(DisplayName = "AE Title - Get")] public async Task Get() { diff --git a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs index e71cd49b8..1075403be 100644 --- a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs +++ b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs @@ -86,8 +86,8 @@ public static partial class Log [LoggerMessage(EventId = 208, Level = LogLevel.Warning, Message = "Aborted {source} with reason {reason}.")] public static partial void CStoreAbort(this ILogger logger, DicomAbortSource source, DicomAbortReason reason); - [LoggerMessage(EventId = 209, Level = LogLevel.Information, Message = "Association release request received.")] - public static partial void CStoreAssociationReleaseRequest(this ILogger logger); + [LoggerMessage(EventId = 209, Level = LogLevel.Information, Message = "Association release request received. Connection Time: {elapsedTime}.")] + public static partial void CStoreAssociationReleaseRequest(this ILogger logger, TimeSpan elapsedTime); [LoggerMessage(EventId = 210, Level = LogLevel.Information, Message = "Association received from {host}:{port}.")] public static partial void CStoreAssociationReceived(this ILogger logger, string host, int port); diff --git a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs index bc8b96e60..b52f0eb9e 100644 --- a/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs +++ b/src/InformaticsGateway/Logging/Log.8000.HttpServices.cs @@ -43,7 +43,7 @@ public static partial class Log [LoggerMessage(EventId = 8010, Level = LogLevel.Information, Message = "DICOM destination added AE Title={aeTitle}, Host/IP={hostIp}.")] public static partial void DestinationApplicationEntityAdded(this ILogger logger, string aeTitle, string hostIp); - [LoggerMessage(EventId = 8011, Level = LogLevel.Information, Message = "MONAI SCP Application Entity deleted {name}.")] + [LoggerMessage(EventId = 8011, Level = LogLevel.Information, Message = "DICOM destination deleted {name}.")] public static partial void DestinationApplicationEntityDeleted(this ILogger logger, string name); [LoggerMessage(EventId = 8012, Level = LogLevel.Error, Message = "Error querying DICOM destinations.")] @@ -58,6 +58,9 @@ public static partial class Log [LoggerMessage(EventId = 8015, Level = LogLevel.Error, Message = "Error C-ECHO to DICOM destination {name}.")] public static partial void ErrorCEechoDestinationApplicationEntity(this ILogger logger, string name, Exception ex); + [LoggerMessage(EventId = 8016, Level = LogLevel.Information, Message = "DICOM destination updated {name}: AE Title={aeTitle}, Host/IP={hostIp}, Port={port}.")] + public static partial void DestinationApplicationEntityUpdated(this ILogger logger, string name, string aeTitle, string hostIp, int port); + // Source AE Title Controller [LoggerMessage(EventId = 8020, Level = LogLevel.Information, Message = "DICOM source added AE Title={aeTitle}, Host/IP={hostIp}.")] public static partial void SourceApplicationEntityAdded(this ILogger logger, string aeTitle, string hostIp); @@ -74,6 +77,9 @@ public static partial class Log [LoggerMessage(EventId = 8024, Level = LogLevel.Error, Message = "Error deleting DICOM source.")] public static partial void ErrorDeletingSourceApplicationEntity(this ILogger logger, Exception ex); + [LoggerMessage(EventId = 8025, Level = LogLevel.Information, Message = "DICOM source updated {name}: AE Title={aeTitle}, Host/IP={hostIp}.")] + public static partial void SourceApplicationEntityUpdated(this ILogger logger, string name, string aeTitle, string hostIp); + // Inference API [LoggerMessage(EventId = 8030, Level = LogLevel.Error, Message = "Failed to retrieve status for TransactionId/JobId={transactionId}.")] public static partial void ErrorRetrievingJobStatus(this ILogger logger, string transactionId, Exception ex); diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index 5d01aadae..7a0bc3b08 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -153,7 +153,7 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item { item.SetDefaultValues(); - Validate(item); + ValidateCreate(item); await _repository.AddAsync(item).ConfigureAwait(false); await _repository.SaveChangesAsync().ConfigureAwait(false); @@ -175,6 +175,50 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item } } + [HttpPut] + [Produces("application/json")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task<ActionResult<DestinationApplicationEntity>> Edit(DestinationApplicationEntity item) + { + try + { + if (item is null) + { + return NotFound(); + } + + var destinationApplicationEntity = await _repository.FindAsync(item.Name).ConfigureAwait(false); + if (destinationApplicationEntity is null) + { + return NotFound(); + } + + item.SetDefaultValues(); + + destinationApplicationEntity.AeTitle = item.AeTitle; + destinationApplicationEntity.HostIp = item.HostIp; + destinationApplicationEntity.Port = item.Port; + + ValidateUpdate(destinationApplicationEntity); + + _ = _repository.Update(destinationApplicationEntity); + await _repository.SaveChangesAsync(HttpContext.RequestAborted).ConfigureAwait(false); + _logger.DestinationApplicationEntityUpdated(item.Name, item.AeTitle, item.HostIp, item.Port); + return Ok(destinationApplicationEntity); + } + catch (ConfigurationException ex) + { + return Problem(title: "Validation error.", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); + } + catch (Exception ex) + { + _logger.ErrorDeletingDestinationApplicationEntity(ex); + return Problem(title: "Error updating DICOM destination.", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); + } + } + [HttpDelete("{name}")] [Produces("application/json")] [ProducesResponseType(StatusCodes.Status200OK)] @@ -203,7 +247,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> Delete(string name } } - private void Validate(DestinationApplicationEntity item) + private void ValidateCreate(DestinationApplicationEntity item) { if (_repository.Any(p => p.Name.Equals(item.Name))) { @@ -218,5 +262,17 @@ private void Validate(DestinationApplicationEntity item) throw new ConfigurationException(string.Join(Environment.NewLine, validationErrors)); } } + + private void ValidateUpdate(DestinationApplicationEntity item) + { + if (_repository.Any(p => !p.Name.Equals(item.Name) && p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port))) + { + throw new ObjectExistsException($"A DICOM destination with the same AE Title '{item.AeTitle}', host/IP Address '{item.HostIp}' and port '{item.Port}' already exists."); + } + if (!item.IsValid(out var validationErrors)) + { + throw new ConfigurationException(string.Join(Environment.NewLine, validationErrors)); + } + } } } diff --git a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs index d4ae19334..007995a2f 100644 --- a/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs +++ b/src/InformaticsGateway/Services/Http/MonaiHealthCheck.cs @@ -16,7 +16,6 @@ using System; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Diagnostics.HealthChecks; diff --git a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs index e8c18250d..0478e9832 100644 --- a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs @@ -100,7 +100,7 @@ public async Task<ActionResult<string>> Create(SourceApplicationEntity item) try { item.SetDefaultValues(); - Validate(item); + ValidateCreate(item); await _repository.AddAsync(item).ConfigureAwait(false); await _repository.SaveChangesAsync().ConfigureAwait(false); @@ -122,6 +122,50 @@ public async Task<ActionResult<string>> Create(SourceApplicationEntity item) } } + [HttpPut] + [Produces("application/json")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task<ActionResult<SourceApplicationEntity>> Edit(SourceApplicationEntity item) + { + try + { + if (item is null) + { + return NotFound(); + } + + var sourceApplicationEntity = await _repository.FindAsync(item.Name).ConfigureAwait(false); + if (sourceApplicationEntity is null) + { + return NotFound(); + } + + item.SetDefaultValues(); + + sourceApplicationEntity.AeTitle = item.AeTitle; + sourceApplicationEntity.HostIp = item.HostIp; + + ValidateEdit(sourceApplicationEntity); + + _ = _repository.Update(sourceApplicationEntity); + await _repository.SaveChangesAsync(HttpContext.RequestAborted).ConfigureAwait(false); + _logger.SourceApplicationEntityUpdated(item.Name, item.AeTitle, item.HostIp); + return Ok(sourceApplicationEntity); + } + catch (ConfigurationException ex) + { + return Problem(title: "Validation error.", statusCode: (int)System.Net.HttpStatusCode.BadRequest, detail: ex.Message); + } + catch (Exception ex) + { + _logger.ErrorDeletingDestinationApplicationEntity(ex); + return Problem(title: "Error updating DICOM source.", statusCode: StatusCodes.Status500InternalServerError, detail: ex.Message); + } + } + [HttpDelete("{name}")] [Produces("application/json")] [ProducesResponseType(StatusCodes.Status200OK)] @@ -150,7 +194,7 @@ public async Task<ActionResult<SourceApplicationEntity>> Delete(string name) } } - private void Validate(SourceApplicationEntity item) + private void ValidateCreate(SourceApplicationEntity item) { if (_repository.Any(p => p.Name.Equals(item.Name))) { @@ -165,5 +209,17 @@ private void Validate(SourceApplicationEntity item) throw new ConfigurationException(string.Join(Environment.NewLine, validationErrors)); } } + + private void ValidateEdit(SourceApplicationEntity item) + { + if (_repository.Any(p => !item.Name.Equals(p.Name) && item.AeTitle.Equals(p.AeTitle) && item.HostIp.Equals(p.HostIp))) + { + throw new ObjectExistsException($"A DICOM source with the same AE Title '{item.AeTitle}' and host/IP address '{item.HostIp}' already exists."); + } + if (!item.IsValid(out var validationErrors)) + { + throw new ConfigurationException(string.Join(Environment.NewLine, validationErrors)); + } + } } } diff --git a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs index 2f683ceaa..a584b89a0 100644 --- a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs +++ b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs @@ -41,6 +41,7 @@ internal class ScpServiceInternal : private IApplicationEntityManager _associationDataProvider; private IDisposable _loggerScope; private Guid _associationId; + private DateTimeOffset? _associationReceived; public ScpServiceInternal(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, DicomServiceDependencies dicomServiceDependencies) : base(stream, fallbackEncoding, log, dicomServiceDependencies) @@ -106,13 +107,20 @@ public void OnReceiveAbort(DicomAbortSource source, DicomAbortReason reason) /// <returns></returns> public Task OnReceiveAssociationReleaseRequestAsync() { - _logger?.CStoreAssociationReleaseRequest(); + var associationElapsed = TimeSpan.Zero; + if (_associationReceived.HasValue) + { + associationElapsed = DateTimeOffset.UtcNow.Subtract(_associationReceived.Value); + } + + _logger?.CStoreAssociationReleaseRequest(associationElapsed); return SendAssociationReleaseResponseAsync(); } public Task OnReceiveAssociationRequestAsync(DicomAssociation association) { Interlocked.Increment(ref ScpService.ActiveConnections); + _associationReceived = DateTimeOffset.UtcNow; _associationDataProvider = UserState as IApplicationEntityManager; if (_associationDataProvider is null) diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index 65fde92bc..e53f812be 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -42,7 +42,8 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Export { - public class ScuExportServiceTest : IClassFixture<DicomScpFixture>, IDisposable + [Collection("SCP Listener")] + public class ScuExportServiceTest { private readonly Mock<IStorageService> _storageService; private readonly Mock<IMessageBrokerSubscriberService> _messageSubscriberService; @@ -57,8 +58,7 @@ public class ScuExportServiceTest : IClassFixture<DicomScpFixture>, IDisposable private readonly CancellationTokenSource _cancellationTokenSource; private readonly DicomScpFixture _dicomScp; - private readonly int _port = 11104; - private bool _disposedValue; + private readonly int _port = 1104; public ScuExportServiceTest(DicomScpFixture dicomScp) { @@ -529,25 +529,5 @@ private async Task StopAndVerify(ScuExportService service) _logger.VerifyLogging($"{service.ServiceName} is stopping.", LogLevel.Information, Times.Once()); Thread.Sleep(500); } - - protected virtual void Dispose(bool disposing) - { - if (!_disposedValue) - { - if (disposing) - { - _dicomScp.Dispose(); - } - - _disposedValue = true; - } - } - - public void Dispose() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: true); - GC.SuppressFinalize(this); - } } } diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index 964b91307..7d14b2758 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -380,9 +380,120 @@ public async Task Create_ShallReturnCreatedAtAction() #endregion Create + #region Update + + [RetryFact(5, 250, DisplayName = "Update - Shall return updated")] + public async Task Update_ReturnsUpdated() + { + var entity = new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + Port = 123, + }; + + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.Remove(It.IsAny<DestinationApplicationEntity>())); + _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); + _repository.Setup(p => p.Update(It.IsAny<DestinationApplicationEntity>())); + + var result = await _controller.Edit(entity); + var okResult = result.Result as OkObjectResult; + Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode); + var updatedEntity = okResult.Value as DestinationApplicationEntity; + + Assert.Equal(entity.AeTitle, updatedEntity.AeTitle); + Assert.Equal(entity.HostIp, updatedEntity.HostIp); + Assert.Equal(entity.Name, updatedEntity.Name); + Assert.Equal(entity.Port, updatedEntity.Port); + + _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + _repository.Verify(p => p.Update(entity), Times.Once()); + _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if input is null")] + public async Task Update_Returns404IfInputIsNull() + { + var result = await _controller.Edit(null); + + Assert.IsType<NotFoundResult>(result.Result); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if not found")] + public async Task Update_Returns404IfNotFound() + { + var entity = new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + Port = 123, + }; + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); + + var result = await _controller.Edit(entity); + + Assert.IsType<NotFoundResult>(result.Result); + _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return problem on failure")] + public async Task Update_ShallReturnProblemOnFailure() + { + var value = "AET"; + var entity = new DestinationApplicationEntity + { + AeTitle = value, + HostIp = "host", + Name = value, + Port = 123, + }; + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.Update(It.IsAny<DestinationApplicationEntity>())).Throws(new Exception("error")); + + var result = await _controller.Edit(entity); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("Error updating DICOM destination.", problem.Title); + Assert.Equal("error", problem.Detail); + Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); + _repository.Verify(p => p.FindAsync(value), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return problem on validation failure")] + public async Task Update_ShallReturnBadRequestWithBadAeTitle() + { + var aeTitle = "TOOOOOOOOOOOOOOOOOOOOOOOLONG"; + var entity = new DestinationApplicationEntity + { + Name = aeTitle, + AeTitle = aeTitle, + HostIp = "host", + Port = 1 + }; + + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + var result = await _controller.Edit(entity); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("Validation error.", problem.Title); + Assert.Equal($"'{aeTitle}' is not a valid AE Title (source: DestinationApplicationEntity).", problem.Detail); + Assert.Equal((int)HttpStatusCode.BadRequest, problem.Status); + } + + #endregion Update + #region Delete - [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return deleted object")] + [RetryFact(5, 250, DisplayName = "Delete - Shall return deleted object")] public async Task Delete_ReturnsDeleted() { var value = "AET"; @@ -406,7 +517,7 @@ public async Task Delete_ReturnsDeleted() _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); } - [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return 404 if not found")] + [RetryFact(5, 250, DisplayName = "Delete - Shall return 404 if not found")] public async Task Delete_Returns404IfNotFound() { var value = "AET"; diff --git a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs index 17876f2db..5cf5d1d73 100644 --- a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs @@ -65,13 +65,15 @@ public SourceAeTitleControllerTest() }; }); + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; _repository = new Mock<IInformaticsGatewayRepository<SourceApplicationEntity>>(); _controller = new SourceAeTitleController( _logger.Object, _repository.Object) { - ProblemDetailsFactory = _problemDetailsFactory.Object + ProblemDetailsFactory = _problemDetailsFactory.Object, + ControllerContext = controllerContext }; } @@ -271,9 +273,115 @@ public async Task Create_ShallReturnCreatedAtAction() #endregion Create + #region Update + + [RetryFact(5, 250, DisplayName = "Update - Shall return updated")] + public async Task Update_ReturnsUpdated() + { + var entity = new SourceApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + }; + + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.Remove(It.IsAny<SourceApplicationEntity>())); + _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); + _repository.Setup(p => p.Update(It.IsAny<SourceApplicationEntity>())); + + var result = await _controller.Edit(entity); + var okResult = result.Result as OkObjectResult; + Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode); + var updatedEntity = okResult.Value as SourceApplicationEntity; + + Assert.Equal(entity.AeTitle, updatedEntity.AeTitle); + Assert.Equal(entity.HostIp, updatedEntity.HostIp); + Assert.Equal(entity.Name, updatedEntity.Name); + + _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + _repository.Verify(p => p.Update(entity), Times.Once()); + _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if input is null")] + public async Task Update_Returns404IfInputIsNull() + { + var result = await _controller.Edit(null); + + Assert.IsType<NotFoundResult>(result.Result); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if not found")] + public async Task Update_Returns404IfNotFound() + { + var entity = new SourceApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + }; + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(SourceApplicationEntity))); + + var result = await _controller.Edit(entity); + + Assert.IsType<NotFoundResult>(result.Result); + _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return problem on failure")] + public async Task Update_ShallReturnProblemOnFailure() + { + var value = "AET"; + var entity = new SourceApplicationEntity + { + AeTitle = value, + HostIp = "host", + Name = value, + }; + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.Update(It.IsAny<SourceApplicationEntity>())).Throws(new Exception("error")); + + var result = await _controller.Edit(entity); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("Error updating DICOM source.", problem.Title); + Assert.Equal("error", problem.Detail); + Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); + _repository.Verify(p => p.FindAsync(value), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return problem on validation failure")] + public async Task Update_ShallReturnBadRequestWithBadAeTitle() + { + var aeTitle = "TOOOOOOOOOOOOOOOOOOOOOOOLONG"; + var entity = new SourceApplicationEntity + { + Name = aeTitle, + AeTitle = aeTitle, + HostIp = "host", + }; + + _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + var result = await _controller.Edit(entity); + + var objectResult = result.Result as ObjectResult; + Assert.NotNull(objectResult); + var problem = objectResult.Value as ProblemDetails; + Assert.NotNull(problem); + Assert.Equal("Validation error.", problem.Title); + Assert.Equal($"'{aeTitle}' is not a valid AE Title (source: SourceApplicationEntity).", problem.Detail); + Assert.Equal((int)HttpStatusCode.BadRequest, problem.Status); + } + + #endregion Update + #region Delete - [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return deleted object")] + [RetryFact(5, 250, DisplayName = "Delete - Shall return deleted object")] public async Task Delete_ReturnsDeleted() { var value = "AET"; @@ -297,7 +405,7 @@ public async Task Delete_ReturnsDeleted() _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); } - [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return 404 if not found")] + [RetryFact(5, 250, DisplayName = "Delete - Shall return 404 if not found")] public async Task Delete_Returns404IfNotFound() { var value = "AET"; diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs index 8c5c44aee..11b563b01 100644 --- a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -31,10 +31,11 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Scu { - public class ScuServiceTest : IClassFixture<DicomScpFixture>, IDisposable + [Collection("SCP Listener")] + public class ScuServiceTest { private readonly DicomScpFixture _dicomScp; - private readonly int _port = 11105; + private readonly int _port = 1104; private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; private readonly Mock<ILogger<ScuService>> _logger; @@ -45,7 +46,6 @@ public class ScuServiceTest : IClassFixture<DicomScpFixture>, IDisposable private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; - private bool _disposedValue; public ScuServiceTest(DicomScpFixture dicomScp) { @@ -156,25 +156,5 @@ public async Task GivenACEchoRequest_WhenRemoteServerIsUnreachable_ReturnStatusA Assert.Equal(ResponseError.Unhandled, response.Error); Assert.StartsWith("One or more error", response.Message); } - - protected virtual void Dispose(bool disposing) - { - if (!_disposedValue) - { - if (disposing) - { - _dicomScp.Dispose(); - } - - _disposedValue = true; - } - } - - public void Dispose() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: true); - GC.SuppressFinalize(this); - } } } diff --git a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs index e2f35440f..77924612e 100644 --- a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs +++ b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs @@ -21,9 +21,15 @@ using FellowOakDicom; using FellowOakDicom.Network; using Microsoft.Extensions.Logging; +using Xunit; namespace Monai.Deploy.InformaticsGateway.SharedTest { + [CollectionDefinition("SCP Listener")] + public class DicomScpFixtureCollection : ICollectionFixture<DicomScpFixture> + { + } + public class DicomScpFixture : IDisposable { internal static string s_aETITLE = "STORESCP"; @@ -37,7 +43,7 @@ public DicomScpFixture() { } - public void Start(int port = 11104) + public void Start(int port = 1104) { if (_server is null) { From e9c45fedd8ad105cf6089473379f845314ab2324 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 7 Oct 2022 08:10:53 -0700 Subject: [PATCH 055/101] Include export status for every file (#201) * gh-199 Include export status for every file * gh-199 Improve logging Signed-off-by: Victor Chang <vicchang@nvidia.com> --- ...Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 4 +- .../Logging/Log.500.ExportService.cs | 15 +++-- .../Monai.Deploy.InformaticsGateway.csproj | 4 +- .../Services/Export/DicomWebExportService.cs | 23 ++++++-- .../Export/ExportRequestDataMessage.cs | 9 ++- .../Export/ExportRequestEventDetails.cs | 6 +- .../Services/Export/ExportServiceBase.cs | 11 ++-- .../Services/Export/ScuExportService.cs | 23 ++++++-- .../Export/DicomWebExportServiceTest.cs | 18 ++++-- .../Services/Export/ExportServiceBaseTest.cs | 57 ++++++++++++++++++- .../Services/Export/ScuExportServiceTest.cs | 31 ++++++---- ...InformaticsGateway.Integration.Test.csproj | 4 +- 13 files changed, 161 insertions(+), 46 deletions(-) diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 116e3cbfa..ade970aad 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.6" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.7-rc0009" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 8b45a0cbb..2ca1f6785 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.6" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.7-rc0009" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/InformaticsGateway/Logging/Log.500.ExportService.cs b/src/InformaticsGateway/Logging/Log.500.ExportService.cs index 6c2b6a1a8..3e26a6832 100644 --- a/src/InformaticsGateway/Logging/Log.500.ExportService.cs +++ b/src/InformaticsGateway/Logging/Log.500.ExportService.cs @@ -28,8 +28,8 @@ public static partial class Log [LoggerMessage(EventId = 501, Level = LogLevel.Warning, Message = "{ServiceName} paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}.")] public static partial void ExportPausedDueToInsufficientStorageSpace(this ILogger logger, string serviceName, long availableFreeSpace); - [LoggerMessage(EventId = 502, Level = LogLevel.Warning, Message = "The export request {exportTaskId} is already queued for export.")] - public static partial void ExportRequestAlreadyQueued(this ILogger logger, string exportTaskId); + [LoggerMessage(EventId = 502, Level = LogLevel.Warning, Message = "Correlation ID={correlationId}. The export request {exportTaskId} is already queued for export.")] + public static partial void ExportRequestAlreadyQueued(this ILogger logger, string correlationId, string exportTaskId); [LoggerMessage(EventId = 503, Level = LogLevel.Debug, Message = "Downloading {file}.")] public static partial void DownloadingFile(this ILogger logger, string file); @@ -49,8 +49,8 @@ public static partial class Log [LoggerMessage(EventId = 508, Level = LogLevel.Error, Message = "Error acknowledging message. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] public static partial void ErrorAcknowledgingMessageWithRetry(this ILogger logger, Exception ex, TimeSpan timeSpan, int retryCount); - [LoggerMessage(EventId = 509, Level = LogLevel.Information, Message = "Sending acknowledgement.")] - public static partial void SendingAckowledgement(this ILogger logger); + [LoggerMessage(EventId = 509, Level = LogLevel.Information, Message = "Sending acknowledgment.")] + public static partial void SendingAcknowledgement(this ILogger logger); [LoggerMessage(EventId = 510, Level = LogLevel.Error, Message = "Error publishing message. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] public static partial void ErrorPublishingExportCompleteEventWithRetry(this ILogger logger, Exception ex, TimeSpan timeSpan, int retryCount); @@ -109,7 +109,7 @@ public static partial class Log [LoggerMessage(EventId = 528, Level = LogLevel.Error, Message = "Failed to export with error {status}.")] public static partial void DimseExportInstanceError(this ILogger logger, DicomStatus status); - [LoggerMessage(EventId = 529, Level = LogLevel.Error, Message = "Error while adding DICOM C-STORE request: {message}")] + [LoggerMessage(EventId = 529, Level = LogLevel.Error, Message = "{message}")] public static partial void DimseExportErrorAddingInstance(this ILogger logger, string message, Exception ex); [LoggerMessage(EventId = 530, Level = LogLevel.Error, Message = "{message}")] @@ -117,5 +117,10 @@ public static partial class Log [LoggerMessage(EventId = 531, Level = LogLevel.Warning, Message = "Export service paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}")] public static partial void ExportServiceStoppedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); + + [LoggerMessage(EventId = 532, Level = LogLevel.Information, Message = "Correlation ID={correlationId}. Export request {exportTaskId} received & queued for processing.")] + public static partial void ExportRequestQueuedForProcessing(this ILogger logger, string correlationId, string exportTaskId); + + } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 6f66a08b6..814d2c8be 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -48,7 +48,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.6" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.7-rc0009" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Services/Export/DicomWebExportService.cs b/src/InformaticsGateway/Services/Export/DicomWebExportService.cs index 317455da6..22d51bce7 100644 --- a/src/InformaticsGateway/Services/Export/DicomWebExportService.cs +++ b/src/InformaticsGateway/Services/Export/DicomWebExportService.cs @@ -35,6 +35,7 @@ using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; +using Monai.Deploy.Messaging.Events; using Polly; namespace Monai.Deploy.InformaticsGateway.Services.Export @@ -74,7 +75,7 @@ public DicomWebExportService( protected override async Task<ExportRequestDataMessage> ExportDataBlockCallback(ExportRequestDataMessage exportRequestData, CancellationToken cancellationToken) { - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequestData.ExportTaskId }, { "CorrelationId", exportRequestData.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequestData.ExportTaskId }, { "CorrelationId", exportRequestData.CorrelationId }, { "Filename", exportRequestData.Filename } }); using var scope = _serviceScopeFactory.CreateScope(); var repository = scope.ServiceProvider.GetRequiredService<IInferenceRequestRepository>(); @@ -98,7 +99,7 @@ private async Task HandleTransaction(ExportRequestDataMessage exportRequestData, { var errorMessage = $"The specified inference request '{transaction}' cannot be found and will not be exported."; _logger.InferenceRequestExportDestinationNotFound(transaction); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ConfigurationError, errorMessage); return; } @@ -108,7 +109,7 @@ private async Task HandleTransaction(ExportRequestDataMessage exportRequestData, { var errorMessage = "The inference request '{transaction}' contains no `outputResources` nor any DICOMweb export destinations."; _logger.InferenceRequestExportNoDestinationNotFound(); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ConfigurationError, errorMessage); return; } @@ -126,9 +127,21 @@ private async Task HandleTransaction(ExportRequestDataMessage exportRequestData, private async Task ExportToDicomWebDestination(IDicomWebClient dicomWebClient, ExportRequestDataMessage exportRequestData, RequestOutputDataResource destination, CancellationToken cancellationToken) { + DicomFile dicomFile; + try + { + dicomFile = _dicomToolkit.Load(exportRequestData.FileContent); + } + catch (Exception ex) + { + var errorMessage = $"Error reading DICOM file: {ex.Message}."; + _logger.ExportException(errorMessage, ex); + exportRequestData.SetFailed(FileExportStatus.UnsupportedDataType, errorMessage); + return; + } + try { - var dicomFile = _dicomToolkit.Load(exportRequestData.FileContent); await Policy .Handle<Exception>() .WaitAndRetryAsync( @@ -147,7 +160,7 @@ await Policy { var errorMessage = ex.Message; _logger.ExportException(errorMessage, ex); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ServiceError, errorMessage); } } diff --git a/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs b/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs index 0b02b5f1c..4b0a3baf0 100644 --- a/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs +++ b/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs @@ -28,6 +28,8 @@ public class ExportRequestDataMessage public byte[] FileContent { get; private set; } public bool IsFailed { get; private set; } public IList<string> Messages { get; init; } + public FileExportStatus ExportStatus { get; private set; } + public string Filename { get; } public string ExportTaskId { @@ -44,8 +46,6 @@ public string[] Destinations get { return _exportRequest.Destinations; } } - public string Filename { get; } - public ExportRequestDataMessage(ExportRequestEvent exportRequest, string filename) { IsFailed = false; @@ -53,6 +53,7 @@ public ExportRequestDataMessage(ExportRequestEvent exportRequest, string filenam _exportRequest = exportRequest ?? throw new System.ArgumentNullException(nameof(exportRequest)); Filename = filename ?? throw new System.ArgumentNullException(nameof(filename)); + ExportStatus = FileExportStatus.Success; } public void SetData(byte[] data) @@ -61,9 +62,11 @@ public void SetData(byte[] data) FileContent = data; } - public void SetFailed(string errorMessage) + public void SetFailed(FileExportStatus fileExportStatus, string errorMessage) { Guard.Against.NullOrWhiteSpace(errorMessage, nameof(errorMessage)); + + ExportStatus = fileExportStatus; IsFailed = true; Messages.Add(errorMessage); } diff --git a/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs b/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs index 250f43a2c..2bbda686a 100644 --- a/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs +++ b/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs @@ -50,8 +50,10 @@ public ExportRequestEventDetails(ExportRequestEvent exportRequest) /// <summary> /// Gets whether the export task is completed or not based on file count. /// </summary> - public bool IsCompleted - { get { return (SucceededFiles + FailedFiles) == Files.Count(); } } + public bool IsCompleted { get { return (SucceededFiles + FailedFiles) == Files.Count(); } } + + public Dictionary<string, FileExportStatus> FileStatuses { get; private set; } = new Dictionary<string, FileExportStatus>(); + public ExportStatus Status { diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index 07d9e0741..21df1feb1 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -163,7 +163,7 @@ private void OnMessageReceivedCallback(MessageReceivedEventArgs eventArgs) var exportRequest = eventArgs.Message.ConvertTo<ExportRequestEvent>(); if (_exportRequests.ContainsKey(exportRequest.ExportTaskId)) { - _logger.ExportRequestAlreadyQueued(exportRequest.ExportTaskId); + _logger.ExportRequestAlreadyQueued(exportRequest.CorrelationId, exportRequest.ExportTaskId); return; } @@ -174,6 +174,7 @@ private void OnMessageReceivedCallback(MessageReceivedEventArgs eventArgs) _exportRequests.Add(exportRequest.ExportTaskId, exportRequestWithDetails); exportFlow.Post(exportRequestWithDetails); + _logger.ExportRequestQueuedForProcessing(exportRequest.CorrelationId, exportRequest.ExportTaskId); } exportFlow.Complete(); @@ -229,7 +230,7 @@ private IEnumerable<ExportRequestDataMessage> DownloadPayloadActionCallback(Expo { var errorMessage = $"Error downloading payload."; _logger.ErrorDownloadingPayload(ex); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.DownloadError, errorMessage); } yield return exportRequestData; @@ -243,6 +244,7 @@ private void ReportingActionBlock(ExportRequestDataMessage exportRequestData) var exportRequest = _exportRequests[exportRequestData.ExportTaskId]; lock (SyncRoot) { + exportRequest.FileStatuses.Add(exportRequestData.Filename, exportRequestData.ExportStatus); if (exportRequestData.IsFailed) { exportRequest.FailedFiles++; @@ -265,7 +267,8 @@ private void ReportingActionBlock(ExportRequestDataMessage exportRequestData) _logger.ExportCompleted(exportRequest.FailedFiles, exportRequest.Files.Count()); - var exportCompleteEvent = new ExportCompleteEvent(exportRequest, exportRequest.Status); + var exportCompleteEvent = new ExportCompleteEvent(exportRequest, exportRequest.Status, exportRequest.FileStatuses); + var jsonMessage = new JsonMessage<ExportCompleteEvent>(exportCompleteEvent, MessageBrokerConfiguration.InformaticsGatewayApplicationId, exportRequest.CorrelationId, exportRequest.DeliveryTag); Policy @@ -278,7 +281,7 @@ private void ReportingActionBlock(ExportRequestDataMessage exportRequestData) }) .Execute(() => { - _logger.SendingAckowledgement(); + _logger.SendingAcknowledgement(); _messageSubscriber.Acknowledge(jsonMessage); }); diff --git a/src/InformaticsGateway/Services/Export/ScuExportService.cs b/src/InformaticsGateway/Services/Export/ScuExportService.cs index ea740990e..60372b993 100644 --- a/src/InformaticsGateway/Services/Export/ScuExportService.cs +++ b/src/InformaticsGateway/Services/Export/ScuExportService.cs @@ -20,6 +20,7 @@ using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; +using FellowOakDicom; using FellowOakDicom.Network; using FellowOakDicom.Network.Client; using Microsoft.Extensions.DependencyInjection; @@ -30,6 +31,7 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.Messaging.Events; using Polly; namespace Monai.Deploy.InformaticsGateway.Services.Export @@ -86,7 +88,7 @@ private async Task HandleDesination(ExportRequestDataMessage exportRequestData, catch (ConfigurationException ex) { _logger.ScuExportConfigurationError(ex.Message, ex); - exportRequestData.SetFailed(ex.Message); + exportRequestData.SetFailed(FileExportStatus.ConfigurationError, ex.Message); return; } @@ -155,10 +157,21 @@ private async Task<bool> GenerateRequestsAsync( IDicomClient client, ManualResetEvent manualResetEvent) { + DicomFile dicomFile; try { - var dicomFile = _dicomToolkit.Load(exportRequestData.FileContent); + dicomFile = _dicomToolkit.Load(exportRequestData.FileContent); + } + catch (Exception ex) + { + var errorMessage = $"Error reading DICOM file: {ex.Message}"; + _logger.ExportException(errorMessage, ex); + exportRequestData.SetFailed(FileExportStatus.UnsupportedDataType, errorMessage); + return false; + } + try + { var request = new DicomCStoreRequest(dicomFile); request.OnResponseReceived += (req, response) => @@ -171,7 +184,7 @@ private async Task<bool> GenerateRequestsAsync( { var errorMessage = $"Failed to export with error {response.Status}"; _logger.DimseExportInstanceError(response.Status); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ServiceError, errorMessage); } manualResetEvent.Set(); }; @@ -183,7 +196,7 @@ private async Task<bool> GenerateRequestsAsync( { var errorMessage = $"Error while adding DICOM C-STORE request: {exception.Message}"; _logger.DimseExportErrorAddingInstance(exception.Message, exception); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ServiceError, errorMessage); return false; } } @@ -213,7 +226,7 @@ private void HandleCStoreException(Exception ex, ExportRequestDataMessage export } _logger.ExportException(errorMessage, ex); - exportRequestData.SetFailed(errorMessage); + exportRequestData.SetFailed(FileExportStatus.ServiceError, errorMessage); } } } diff --git a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs index 2ef90730c..3d4e46c40 100644 --- a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs @@ -22,6 +22,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; +using Ardalis.GuardClauses; using FellowOakDicom; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -160,7 +161,7 @@ public async Task ExportDataBlockCallback_ReturnsNullIfInferenceRequestCannotBeF _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ConfigurationError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -215,7 +216,7 @@ public async Task ExportDataBlockCallback_ReturnsNullIfInferenceRequestContainsN _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ConfigurationError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -294,7 +295,7 @@ public async Task ExportDataBlockCallback_RecordsStowFailuresAndReportFailure() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ServiceError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -382,7 +383,7 @@ public async Task CompletesDataflow(HttpStatusCode httpStatusCode) _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == (httpStatusCode == HttpStatusCode.OK ? ExportStatus.Success : ExportStatus.Failure))), Times.Once()); + It.Is<Message>(match => CheckMessage(match, (httpStatusCode == HttpStatusCode.OK ? ExportStatus.Success : ExportStatus.Failure), (httpStatusCode == HttpStatusCode.OK ? FileExportStatus.Success : FileExportStatus.ServiceError)))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -410,6 +411,15 @@ public async Task CompletesDataflow(HttpStatusCode httpStatusCode) ItExpr.IsAny<CancellationToken>()); } + private bool CheckMessage(Message message, ExportStatus exportStatus, FileExportStatus fileExportStatus) + { + Guard.Against.Null(message, nameof(message)); + + var exportEvent = message.ConvertTo<ExportCompleteEvent>(); + return exportEvent.Status == exportStatus && + exportEvent.FileStatuses.First().Value == fileExportStatus; + } + private static MessageReceivedEventArgs CreateMessageReceivedEventArgs(string transactionId) { var exportRequestEvent = new ExportRequestEvent diff --git a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs index 5025c241b..a014b496b 100644 --- a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs @@ -62,7 +62,7 @@ protected override Task<ExportRequestDataMessage> ExportDataBlockCallback(Export if (ExportShallFail || exportRequestData is null) { - exportRequestData.SetFailed("Failed"); + exportRequestData.SetFailed(FileExportStatus.ServiceError, "Failed"); } return Task.FromResult(exportRequestData); @@ -195,6 +195,61 @@ public async Task DataflowTest_PayloadDownlaodFailure() It.IsAny<ushort>()), Times.Once()); } + + [RetryFact(1, 10, DisplayName = "Data flow test - end to end workflow with partial failure")] + public async Task DataflowTest_EndToEnd_WithPartialFailure() + { + var messageCount = 5; + var testData = "this is a test"; + + _messagePublisherService.Setup(p => p.Publish(It.IsAny<string>(), It.IsAny<Message>())); + _messageSubscriberService.Setup(p => p.Acknowledge(It.IsAny<MessageBase>())); + _messageSubscriberService.Setup(p => p.RequeueWithDelay(It.IsAny<MessageBase>())); + _messageSubscriberService.Setup( + p => p.Subscribe(It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<Action<MessageReceivedEventArgs>>(), + It.IsAny<ushort>())) + .Callback<string, string, Action<MessageReceivedEventArgs>, ushort>((topic, queue, messageReceivedCallback, prefetchCount) => + { + while (messageCount-- > 0) + { + messageReceivedCallback(CreateMessageReceivedEventArgs()); + } + }); + + _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes(testData))); + + var countdownEvent = new CountdownEvent(5 * 3); + var service = new TestExportService(_logger.Object, _configuration, _serviceScopeFactory.Object); + service.ReportActionCompleted += (sender, e) => + { + countdownEvent.Signal(); + }; + service.ExportDataBlockCalled += (sender, e) => + { + var data = sender as ExportRequestDataMessage; + Assert.Equal(testData, Encoding.UTF8.GetString(data.FileContent)); + + service.ExportShallFail = data.Filename == "file1"; + countdownEvent.Signal(); + }; + await service.StartAsync(_cancellationTokenSource.Token); + Assert.True(countdownEvent.Wait(1000000)); + await StopAndVerify(service); + + _messagePublisherService.Verify( + p => p.Publish(It.IsAny<string>(), + It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.PartialFailure)), Times.Exactly(5)); + _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Exactly(5)); + _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); + _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<Action<MessageReceivedEventArgs>>(), + It.IsAny<ushort>()), Times.Once()); + } + [RetryFact(1, 10, DisplayName = "Data flow test - end to end workflow")] public async Task DataflowTest_EndToEnd() { diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index e53f812be..06cfd5c51 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -16,9 +16,11 @@ using System; using System.IO; +using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using Ardalis.GuardClauses; using FellowOakDicom; using FellowOakDicom.Network; using Microsoft.Extensions.DependencyInjection; @@ -146,7 +148,7 @@ public async Task ShallFailWhenNoDestinationIsDefined() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ConfigurationError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -191,7 +193,7 @@ public async Task ShallFailWhenDestinationIsNotConfigured() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ConfigurationError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -241,7 +243,7 @@ public async Task AssociationRejected() await StopAndVerify(service); _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ServiceError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -293,7 +295,7 @@ public async Task SimulateAbort() await StopAndVerify(service); _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ServiceError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -344,7 +346,7 @@ public async Task CStoreFailure() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ServiceError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -395,7 +397,7 @@ public async Task ErrorLoadingDicomContent() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.UnsupportedDataType))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -403,7 +405,7 @@ public async Task ErrorLoadingDicomContent() It.IsAny<Action<MessageReceivedEventArgs>>(), It.IsAny<ushort>()), Times.Once()); - _logger.VerifyLogging("Error while adding DICOM C-STORE request: error", LogLevel.Error, Times.Once()); + _logger.VerifyLoggingMessageBeginsWith("Error reading DICOM file: error", LogLevel.Error, Times.Once()); } [RetryFact(10, 250, DisplayName = "Unreachable Server")] @@ -446,7 +448,7 @@ public async Task UnreachableServer() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Failure)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Failure, FileExportStatus.ServiceError))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -456,7 +458,7 @@ public async Task UnreachableServer() _logger.VerifyLoggingMessageBeginsWith("Association aborted with error", LogLevel.Error, Times.Once()); } - [RetryFact(10, 250, DisplayName = "C-STORe success")] + [RetryFact(10, 250, DisplayName = "C-STORE success")] public async Task ExportCompletes() { _scpLogger.Invocations.Clear(); @@ -496,7 +498,7 @@ public async Task ExportCompletes() _messagePublisherService.Verify( p => p.Publish(It.IsAny<string>(), - It.Is<Message>(match => (match.ConvertTo<ExportCompleteEvent>()).Status == ExportStatus.Success)), Times.Once()); + It.Is<Message>(match => CheckMessage(match, ExportStatus.Success, FileExportStatus.Success))), Times.Once()); _messageSubscriberService.Verify(p => p.Acknowledge(It.IsAny<MessageBase>()), Times.Once()); _messageSubscriberService.Verify(p => p.RequeueWithDelay(It.IsAny<MessageBase>()), Times.Never()); _messageSubscriberService.Verify(p => p.Subscribe(It.IsAny<string>(), @@ -507,6 +509,15 @@ public async Task ExportCompletes() _logger.VerifyLogging($"Instance sent successfully.", LogLevel.Information, Times.Once()); } + private bool CheckMessage(Message message, ExportStatus exportStatus, FileExportStatus fileExportStatus) + { + Guard.Against.Null(message, nameof(message)); + + var exportEvent = message.ConvertTo<ExportCompleteEvent>(); + return exportEvent.Status == exportStatus && + exportEvent.FileStatuses.First().Value == fileExportStatus; + } + private static MessageReceivedEventArgs CreateMessageReceivedEventArgs(string destination) { var exportRequestEvent = new ExportRequestEvent diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 606f97f99..152857690 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Minio" Version="4.0.5" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.6" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.7-rc0009" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> From 908eeaf6866fe45728ab39c72a3e203a5c4c0681 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:12:49 -0700 Subject: [PATCH 056/101] Create sqlite indexes to improve db queries (#203) * gh-202 Create sqlite indexes to improve db queries * Replace ActionBlock with Task.Run * Stops storing upload file metadata to improve performance * Update messaging libs to 0.1.8 Signed-off-by: Victor Chang <vicchang@nvidia.com> --- ...Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 2 +- ...stinationApplicationEntityConfiguration.cs | 3 + src/Database/InferenceRequestConfiguration.cs | 4 + .../20220802200605_R3_0.3.0.Designer.cs | 2 +- .../Migrations/20220802200605_R3_0.3.0.cs | 4 +- .../20221010184458_R3_0.3.2.Designer.cs | 221 ++++++++++++++++++ .../Migrations/20221010184458_R3_0.3.2.cs | 19 ++ .../InformaticsGatewayContextModelSnapshot.cs | 55 +++-- .../MonaiApplicationEntityConfiguration.cs | 2 + src/Database/PayloadConfiguration.cs | 3 + .../SourceApplicationEntityConfiguration.cs | 3 + ...orageMetadataWrapperEntityConfiguration.cs | 4 + .../Common/PayloadExtensions.cs | 26 --- .../Logging/Log.3000.PayloadAssembler.cs | 15 +- .../Logging/Log.4000.ObjectUploadService.cs | 9 + .../Monai.Deploy.InformaticsGateway.csproj | 2 +- .../Services/Connectors/PayloadAssembler.cs | 28 +-- .../PayloadNotificationActionHandler.cs | 9 - .../Connectors/PayloadNotificationService.cs | 7 +- .../Services/Storage/ObjectUploadQueue.cs | 17 +- .../Services/Storage/ObjectUploadService.cs | 71 +++--- .../Connectors/PayloadAssemblerTest.cs | 10 +- .../PayloadNotificationActionHandlerTest.cs | 4 - .../Storage/ObjectUploadServiceTest.cs | 4 - ...InformaticsGateway.Integration.Test.csproj | 2 +- 26 files changed, 377 insertions(+), 151 deletions(-) create mode 100644 src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs create mode 100644 src/Database/Migrations/20221010184458_R3_0.3.2.cs diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index ade970aad..967375a51 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.7-rc0009" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 2ca1f6785..9e1c4b0ba 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.7-rc0009" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/Database/DestinationApplicationEntityConfiguration.cs b/src/Database/DestinationApplicationEntityConfiguration.cs index 80a9f3ccb..a1a131e70 100644 --- a/src/Database/DestinationApplicationEntityConfiguration.cs +++ b/src/Database/DestinationApplicationEntityConfiguration.cs @@ -29,6 +29,9 @@ public void Configure(EntityTypeBuilder<DestinationApplicationEntity> builder) builder.Property(j => j.AeTitle).IsRequired(); builder.Property(j => j.Port).IsRequired(); builder.Property(j => j.HostIp).IsRequired(); + + builder.HasIndex(p => p.Name, "idx_destination_name").IsUnique(); + builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp, p.Port }, "idx_source_all").IsUnique(); } } } diff --git a/src/Database/InferenceRequestConfiguration.cs b/src/Database/InferenceRequestConfiguration.cs index 87681b112..fd740b7d3 100644 --- a/src/Database/InferenceRequestConfiguration.cs +++ b/src/Database/InferenceRequestConfiguration.cs @@ -70,6 +70,10 @@ public void Configure(EntityTypeBuilder<InferenceRequest> builder) builder.Property(j => j.TryCount).IsRequired(); builder.Ignore(p => p.Application); + + builder.HasIndex(p => p.State, "idx_inferencerequest_state"); + builder.HasIndex(p => p.InferenceRequestId, "idx_inferencerequest_inferencerequestid").IsUnique(); + builder.HasIndex(p => p.TransactionId, "idx_inferencerequest_transactionid").IsUnique(); } } } diff --git a/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs b/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs index 01b3cb57b..824553cd6 100644 --- a/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs +++ b/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs @@ -199,4 +199,4 @@ protected override void BuildTargetModel(ModelBuilder modelBuilder) #pragma warning restore 612, 618 } } -} +} \ No newline at end of file diff --git a/src/Database/Migrations/20220802200605_R3_0.3.0.cs b/src/Database/Migrations/20220802200605_R3_0.3.0.cs index c64cbb6f7..fca7a122c 100644 --- a/src/Database/Migrations/20220802200605_R3_0.3.0.cs +++ b/src/Database/Migrations/20220802200605_R3_0.3.0.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -57,4 +57,4 @@ protected override void Down(MigrationBuilder migrationBuilder) defaultValue: ""); } } -} +} \ No newline at end of file diff --git a/src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs b/src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs new file mode 100644 index 000000000..e3ff92b16 --- /dev/null +++ b/src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs @@ -0,0 +1,221 @@ +// <auto-generated /> +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Monai.Deploy.InformaticsGateway.Database; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + [DbContext(typeof(InformaticsGatewayContext))] + [Migration("20221010184458_R3_0.3.2")] + partial class R3_032 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "6.0.9"); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("Port") + .HasColumnType("INTEGER"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_destination_name") + .IsUnique(); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp", "Port" }, "idx_source_all") + .IsUnique(); + + b.ToTable("DestinationApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.MonaiApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT") + .HasColumnOrder(0); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("AllowedSopClasses") + .HasColumnType("TEXT"); + + b.Property<string>("Grouping") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("IgnoredSopClasses") + .HasColumnType("TEXT"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.Property<string>("Workflows") + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_monaiae_name") + .IsUnique(); + + b.ToTable("MonaiApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequest", b => + { + b.Property<Guid>("InferenceRequestId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("InputMetadata") + .HasColumnType("TEXT"); + + b.Property<string>("InputResources") + .HasColumnType("TEXT"); + + b.Property<string>("OutputResources") + .HasColumnType("TEXT"); + + b.Property<byte>("Priority") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<int>("Status") + .HasColumnType("INTEGER"); + + b.Property<string>("TransactionId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("TryCount") + .HasColumnType("INTEGER"); + + b.HasKey("InferenceRequestId"); + + b.HasIndex(new[] { "InferenceRequestId" }, "idx_inferencerequest_inferencerequestid") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_inferencerequest_state"); + + b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") + .IsUnique(); + + b.ToTable("InferenceRequest"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") + .IsUnique() + .HasDatabaseName("idx_source_all1"); + + b.HasIndex(new[] { "Name" }, "idx_source_name") + .IsUnique(); + + b.ToTable("SourceApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Storage.Payload", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Files") + .HasColumnType("TEXT"); + + b.Property<string>("Key") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RetryCount") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex(new[] { "CorrelationId", "Id" }, "idx_payload_ids") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_payload_state"); + + b.ToTable("Payload"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.StorageMetadataWrapper", b => + { + b.Property<string>("CorrelationId") + .HasColumnType("TEXT"); + + b.Property<string>("Identity") + .HasColumnType("TEXT"); + + b.Property<bool>("IsUploaded") + .HasColumnType("INTEGER"); + + b.Property<string>("TypeName") + .HasColumnType("TEXT"); + + b.Property<string>("Value") + .HasColumnType("TEXT"); + + b.HasKey("CorrelationId", "Identity"); + + b.HasIndex(new[] { "CorrelationId" }, "idx_storagemetadata_correlation"); + + b.HasIndex(new[] { "CorrelationId", "Identity" }, "idx_storagemetadata_ids"); + + b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); + + b.ToTable("StorageMetadataWrapper"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Database/Migrations/20221010184458_R3_0.3.2.cs b/src/Database/Migrations/20221010184458_R3_0.3.2.cs new file mode 100644 index 000000000..92ad58af7 --- /dev/null +++ b/src/Database/Migrations/20221010184458_R3_0.3.2.cs @@ -0,0 +1,19 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + public partial class R3_032 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs b/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs index 6b9847296..18a940cef 100644 --- a/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs +++ b/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs @@ -1,20 +1,4 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// <auto-generated /> +// <auto-generated /> using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; @@ -31,7 +15,7 @@ partial class InformaticsGatewayContextModelSnapshot : ModelSnapshot protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "6.0.6"); + modelBuilder.HasAnnotation("ProductVersion", "6.0.9"); modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => { @@ -51,6 +35,12 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Name"); + b.HasIndex(new[] { "Name" }, "idx_destination_name") + .IsUnique(); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp", "Port" }, "idx_source_all") + .IsUnique(); + b.ToTable("DestinationApplicationEntities"); }); @@ -82,6 +72,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Name"); + b.HasIndex(new[] { "Name" }, "idx_monaiae_name") + .IsUnique(); + b.ToTable("MonaiApplicationEntities"); }); @@ -118,6 +111,14 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("InferenceRequestId"); + b.HasIndex(new[] { "InferenceRequestId" }, "idx_inferencerequest_inferencerequestid") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_inferencerequest_state"); + + b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") + .IsUnique(); + b.ToTable("InferenceRequest"); }); @@ -136,6 +137,13 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Name"); + b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") + .IsUnique() + .HasDatabaseName("idx_source_all1"); + + b.HasIndex(new[] { "Name" }, "idx_source_name") + .IsUnique(); + b.ToTable("SourceApplicationEntities"); }); @@ -170,6 +178,11 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("Id"); + b.HasIndex(new[] { "CorrelationId", "Id" }, "idx_payload_ids") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_payload_state"); + b.ToTable("Payload"); }); @@ -192,6 +205,12 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasKey("CorrelationId", "Identity"); + b.HasIndex(new[] { "CorrelationId" }, "idx_storagemetadata_correlation"); + + b.HasIndex(new[] { "CorrelationId", "Identity" }, "idx_storagemetadata_ids"); + + b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); + b.ToTable("StorageMetadataWrapper"); }); #pragma warning restore 612, 618 diff --git a/src/Database/MonaiApplicationEntityConfiguration.cs b/src/Database/MonaiApplicationEntityConfiguration.cs index 7371cd1a6..d04189f6e 100644 --- a/src/Database/MonaiApplicationEntityConfiguration.cs +++ b/src/Database/MonaiApplicationEntityConfiguration.cs @@ -61,6 +61,8 @@ public void Configure(EntityTypeBuilder<MonaiApplicationEntity> builder) v => JsonSerializer.Serialize(v, jsonSerializerSettings), v => JsonSerializer.Deserialize<List<string>>(v, jsonSerializerSettings)) .Metadata.SetValueComparer(valueComparer); + + builder.HasIndex(p => p.Name, "idx_monaiae_name").IsUnique(); } } } diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/PayloadConfiguration.cs index b40c9e7c1..f319d43ae 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/PayloadConfiguration.cs @@ -59,6 +59,9 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.HasTimedOut); builder.Ignore(j => j.Elapsed); builder.Ignore(j => j.Count); + + builder.HasIndex(p => p.State, "idx_payload_state"); + builder.HasIndex(p => new { p.CorrelationId, p.Id }, "idx_payload_ids").IsUnique(); } } } diff --git a/src/Database/SourceApplicationEntityConfiguration.cs b/src/Database/SourceApplicationEntityConfiguration.cs index b3af99489..ff7b5d160 100644 --- a/src/Database/SourceApplicationEntityConfiguration.cs +++ b/src/Database/SourceApplicationEntityConfiguration.cs @@ -27,6 +27,9 @@ public void Configure(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityType builder.HasKey(j => j.Name); builder.Property(j => j.AeTitle).IsRequired(); builder.Property(j => j.HostIp).IsRequired(); + + builder.HasIndex(p => p.Name, "idx_source_name").IsUnique(); + builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp }, "idx_source_all").IsUnique(); } } } diff --git a/src/Database/StorageMetadataWrapperEntityConfiguration.cs b/src/Database/StorageMetadataWrapperEntityConfiguration.cs index dbeb65c7d..f0620e17a 100644 --- a/src/Database/StorageMetadataWrapperEntityConfiguration.cs +++ b/src/Database/StorageMetadataWrapperEntityConfiguration.cs @@ -32,6 +32,10 @@ public void Configure(EntityTypeBuilder<StorageMetadataWrapper> builder) builder.Property(j => j.CorrelationId); builder.Property(j => j.Value); builder.Property(j => j.TypeName); + + builder.HasIndex(p => new { p.CorrelationId, p.Identity }, "idx_storagemetadata_ids"); + builder.HasIndex(p => p.CorrelationId, "idx_storagemetadata_correlation"); + builder.HasIndex(p => p.IsUploaded, "idx_storagemetadata_uploaded"); } } } diff --git a/src/InformaticsGateway/Common/PayloadExtensions.cs b/src/InformaticsGateway/Common/PayloadExtensions.cs index 631ea5858..3733f7e94 100644 --- a/src/InformaticsGateway/Common/PayloadExtensions.cs +++ b/src/InformaticsGateway/Common/PayloadExtensions.cs @@ -98,31 +98,5 @@ await Policy .ConfigureAwait(false); } - public static async Task DeletePayloadStorageMetadataObjects(this Payload payload, IEnumerable<TimeSpan> retryDelays, ILogger logger, IStorageMetadataWrapperRepository repository) - { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.NullOrEmpty(retryDelays, nameof(retryDelays)); - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.Null(repository, nameof(repository)); - - var retryPolicy = Policy - .Handle<Exception>() - .WaitAndRetryAsync( - retryDelays, - (exception, timeSpan, retryCount, context) => - { - logger.ErrorDeletingPayloadAssociatedStorageMetadataObjects(payload.Id, timeSpan, retryCount, exception); - }); - - foreach (var metadata in payload.Files) - { - await retryPolicy.ExecuteAsync(async () => - { - await repository.DeleteAsync(metadata.CorrelationId, metadata.Id).ConfigureAwait(false); - logger.StorageMetadataObjectDeleted(metadata.Id); - }) - .ConfigureAwait(false); - } - } } } diff --git a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs index 2cb300c84..9ad3443eb 100644 --- a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs +++ b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs @@ -21,14 +21,14 @@ namespace Monai.Deploy.InformaticsGateway.Logging { public static partial class Log { - [LoggerMessage(EventId = 3000, Level = LogLevel.Information, Message = "Restoring payloads from database.")] - public static partial void RestorePayloads(this ILogger logger); + [LoggerMessage(EventId = 3000, Level = LogLevel.Information, Message = "[Startup] Removing payloads from database.")] + public static partial void RemovingPendingPayloads(this ILogger logger); - [LoggerMessage(EventId = 3001, Level = LogLevel.Information, Message = "Payload {payloadId} restored from database.")] - public static partial void PayloadRestored(this ILogger logger, Guid payloadId); + [LoggerMessage(EventId = 3001, Level = LogLevel.Information, Message = "[Startup] Payload {payloadId} removed from database.")] + public static partial void PendingPayloadsRemoved(this ILogger logger, Guid payloadId); - [LoggerMessage(EventId = 3002, Level = LogLevel.Information, Message = "{count} payloads restored from database.")] - public static partial void TotalNumberOfPayloadsRestored(this ILogger logger, int count); + [LoggerMessage(EventId = 3002, Level = LogLevel.Information, Message = "[Startup] {count} payloads restored from database.")] + public static partial void TotalNumberOfPayloadsRemoved(this ILogger logger, int count); [LoggerMessage(EventId = 3003, Level = LogLevel.Information, Message = "File added to bucket {key}. Queue size: {count}")] public static partial void FileAddedToBucket(this ILogger logger, string key, int count); @@ -57,9 +57,6 @@ public static partial class Log [LoggerMessage(EventId = 3012, Level = LogLevel.Information, Message = "Bucket {key} created with timeout {timeout}s.")] public static partial void BucketCreated(this ILogger logger, string key, uint timeout); - [LoggerMessage(EventId = 3013, Level = LogLevel.Warning, Message = "Payload {payloadId} deleted at startup as data streams have been lost. Pleaes upload again.")] - public static partial void PayloadDeletedAtStartup(this ILogger logger, Guid payloadId); - [LoggerMessage(EventId = 3014, Level = LogLevel.Error, Message = "Payload deleted due to upload failure(s) {key}.")] public static partial void PayloadRemovedWithFailureUploads(this ILogger logger, string key); } diff --git a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs index 702534340..292c02580 100644 --- a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs +++ b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs @@ -38,5 +38,14 @@ public static partial class Log [LoggerMessage(EventId = 4005, Level = LogLevel.Debug, Message = "Error uploading temporary store. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] public static partial void ErrorUploadingFileToTemporaryStore(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); + + [LoggerMessage(EventId = 4006, Level = LogLevel.Information, Message = "File uploaded to temporary store at {filePath}.")] + public static partial void UploadedFileToTemporaryStore(this ILogger logger, string filePath); + + [LoggerMessage(EventId = 4007, Level = LogLevel.Information, Message = "Items in queue {count}.")] + public static partial void InstanceInUploadQueue(this ILogger logger, int count); + + [LoggerMessage(EventId = 4008, Level = LogLevel.Error, Message = "Unknown error occurred while uploading.")] + public static partial void ErrorUploading(this ILogger logger, Exception ex); } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 814d2c8be..0b589c066 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -48,7 +48,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.7-rc0009" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index 9a0052ac8..e35d937d4 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -61,7 +61,7 @@ public PayloadAssembler( _workItems = new BlockingCollection<Payload>(); _payloads = new ConcurrentDictionary<string, AsyncLazy<Payload>>(); - RestoreFromDatabase(); + RemovePendingPayloads(); _timer = new System.Timers.Timer(1000) { @@ -71,36 +71,22 @@ public PayloadAssembler( _timer.Enabled = true; } - private void RestoreFromDatabase() + private void RemovePendingPayloads() { - _logger.RestorePayloads(); + _logger.RemovingPendingPayloads(); var scope = _serviceScopeFactory.CreateScope(); var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<Payload>>(); var payloads = repository.AsQueryable().Where(p => p.State == Payload.PayloadState.Created); - var restored = 0; + var removed = 0; foreach (var payload in payloads) { - if (!payload.IsUploadCompleted()) - { - // if there are any objects in a payload that is still pending upload, - // then it has to be dropped since objects are stored in the memory before uploading - // to the designated temporary location on the storage service. - - payload.DeletePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).Wait(); - _logger.PayloadDeletedAtStartup(payload.Id); - continue; - } - - if (_payloads.TryAdd(payload.Key, new AsyncLazy<Payload>(payload))) - { - _logger.PayloadRestored(payload.Id); - restored++; - } + payload.DeletePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).Wait(); + _logger.PendingPayloadsRemoved(payload.Id); } - _logger.TotalNumberOfPayloadsRestored(restored); + _logger.TotalNumberOfPayloadsRemoved(removed); } /// <summary> diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 0ddb5daad..28fd2b93a 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -73,7 +73,6 @@ public async Task NotifyAsync(Payload payload, ActionBlock<Payload> notification { await NotifyPayloadReady(payload).ConfigureAwait(false); await DeletePayload(payload).ConfigureAwait(false); - await DeletePayloadStorageMetadataObjects(payload).ConfigureAwait(false); } catch (Exception ex) { @@ -87,14 +86,6 @@ public async Task NotifyAsync(Payload payload, ActionBlock<Payload> notification } } - private async Task DeletePayloadStorageMetadataObjects(Payload payload) - { - Guard.Against.Null(payload, nameof(payload)); - var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IStorageMetadataWrapperRepository>() ?? throw new ServiceNotFoundException(nameof(IStorageMetadataWrapperRepository)); - await payload.DeletePayloadStorageMetadataObjects(_options.Value.Storage.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); - } - private async Task DeletePayload(Payload payload) { Guard.Against.Null(payload, nameof(payload)); diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs index b89fa9e92..eaef477cf 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs @@ -182,11 +182,8 @@ private void BackgroundProcessing(CancellationToken cancellationToken) try { payload = _payloadAssembler.Dequeue(cancellationToken); - using (_logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "Correlation ID", payload.CorrelationId } })) - { - _moveFileQueue.Post(payload); - _logger.PayloadQueuedForProcessing(payload.Id, ServiceName); - } + _moveFileQueue.Post(payload); + _logger.PayloadQueuedForProcessing(payload.Id, ServiceName); } catch (OperationCanceledException ex) { diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs index 9c0a44c83..50cf597df 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs @@ -16,6 +16,7 @@ using System; using System.Collections.Concurrent; +using System.Collections.Generic; using System.Diagnostics; using System.Threading; using Ardalis.GuardClauses; @@ -27,19 +28,19 @@ namespace Monai.Deploy.InformaticsGateway.Services.Storage { internal class ObjectUploadQueue : IObjectUploadQueue { - private readonly BlockingCollection<FileStorageMetadata> _workItems; + private readonly ConcurrentQueue<FileStorageMetadata> _workItems; private readonly ILogger<ObjectUploadQueue> _logger; public ObjectUploadQueue(ILogger<ObjectUploadQueue> logger) { - _workItems = new BlockingCollection<FileStorageMetadata>(); + _workItems = new ConcurrentQueue<FileStorageMetadata>(); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); } public void Queue(FileStorageMetadata file) { Guard.Against.Null(file, nameof(file)); - _workItems.Add(file); + _workItems.Enqueue(file); var process = Process.GetCurrentProcess(); @@ -48,7 +49,15 @@ public void Queue(FileStorageMetadata file) public FileStorageMetadata Dequeue(CancellationToken cancellationToken) { - return _workItems.Take(cancellationToken); + while (!cancellationToken.IsCancellationRequested) + { + if (_workItems.TryDequeue(out var reuslt)) + { + _logger.InstanceInUploadQueue(_workItems.Count); + return reuslt; + } + } + throw new OperationCanceledException("Cancellation requested."); } } } diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index f42c14b71..ba43f3563 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -48,7 +48,6 @@ internal class ObjectUploadService : IHostedService, IMonaiService, IDisposable private readonly CancellationTokenSource _cancellationTokenSource; private readonly IOptions<InformaticsGatewayConfiguration> _configuration; private readonly IServiceScope _scope; - private ActionBlock<FileStorageMetadata> _worker; private bool _disposedValue; public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; @@ -68,62 +67,65 @@ public ObjectUploadService( _uplaodQueue = _scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _storageService = _scope.ServiceProvider.GetService<IStorageService>() ?? throw new ServiceNotFoundException(nameof(IStorageService)); - RemovePendingUploadObjects(); } - /// <summary> - /// Removes all uploading pending objects from the database at startup since objects are lost upon service restart (crash). - /// </summary> - private void RemovePendingUploadObjects() + private async Task BackgroundProcessing(CancellationToken cancellationToken) { + _logger.ServiceRunning(ServiceName); + var tasks = new List<Task>(); try { - using var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IStorageMetadataWrapperRepository>() ?? throw new ServiceNotFoundException(nameof(IStorageMetadataWrapperRepository)); - repository.DeletePendingUploadsAsync(); + for (var i = 0; i < _configuration.Value.Storage.ConcurrentUploads; i++) + { + tasks.Add(Task.Run(async () => + { + await StartWorker(i, cancellationToken); + })); + } + + Task.WaitAll(tasks.ToArray()); + } + catch (ObjectDisposedException ex) + { + _logger.ServiceDisposed(ServiceName, ex); } catch (Exception ex) { - _logger.ErrorRemovingPendingUploadObjects(ex); + if (ex is InvalidOperationException || ex is OperationCanceledException) + { + _logger.ServiceInvalidOrCancelled(ServiceName, ex); + } } + Status = ServiceStatus.Cancelled; + _logger.ServiceCancelled(ServiceName); } - private void BackgroundProcessing(CancellationToken cancellationToken) + private async Task StartWorker(int thread, CancellationToken cancellationToken) { - _logger.ServiceRunning(ServiceName); while (!cancellationToken.IsCancellationRequested) { try { - _worker.Post(_uplaodQueue.Dequeue(cancellationToken)); + var item = _uplaodQueue.Dequeue(cancellationToken); + await ProcessObject(item); } - catch (ObjectDisposedException ex) + catch (OperationCanceledException ex) { - _logger.ServiceDisposed(ServiceName, ex); + _logger.ServiceCancelled(ServiceName); + break; } catch (Exception ex) { - if (ex is InvalidOperationException || ex is OperationCanceledException) - { - _logger.ServiceInvalidOrCancelled(ServiceName, ex); - } + _logger.ErrorUploading(ex); } } - Status = ServiceStatus.Cancelled; - _logger.ServiceCancelled(ServiceName); } public Task StartAsync(CancellationToken cancellationToken) { - var task = Task.Run(() => + var task = Task.Run(async () => { - _worker = new ActionBlock<FileStorageMetadata>(ProcessObject, new ExecutionDataflowBlockOptions - { - MaxDegreeOfParallelism = _configuration.Value.Storage.ConcurrentUploads, - CancellationToken = cancellationToken, - }); - - BackgroundProcessing(cancellationToken); + await BackgroundProcessing(cancellationToken); }, CancellationToken.None); Status = ServiceStatus.Running; @@ -137,7 +139,6 @@ public Task StopAsync(CancellationToken cancellationToken) { _logger.ServiceStopping(ServiceName); _cancellationTokenSource.Cancel(); - _worker.Complete(); Status = ServiceStatus.Stopped; return Task.CompletedTask; } @@ -163,13 +164,10 @@ private async Task ProcessObject(FileStorageMetadata blob) } await UploadData(blob.Id, blob.File, blob.Source, blob.Workflows, _cancellationTokenSource.Token).ConfigureAwait(false); - await UpdateBlob(blob); } catch (Exception ex) { _logger.FailedToUploadFile(blob.Id, ex); - blob.SetFailed(); - await UpdateBlob(blob); } finally { @@ -178,13 +176,6 @@ private async Task ProcessObject(FileStorageMetadata blob) } } - private async Task UpdateBlob(FileStorageMetadata blob) - { - using var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IStorageMetadataWrapperRepository>() ?? throw new ServiceNotFoundException(nameof(IStorageMetadataWrapperRepository)); - await repository.AddOrUpdateAsync(blob).ConfigureAwait(false); - } - private async Task UploadData(string identifier, StorageObjectMetadata storageObjectMetadata, string source, List<string> workflows, CancellationToken cancellationToken) { Guard.Against.NullOrWhiteSpace(identifier, nameof(identifier)); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs index f09b7a058..cf1baecfc 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs @@ -89,23 +89,25 @@ public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeou } [RetryFact] - public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectFileStorageMetadataToBeRestoredFromTheDatabase() + public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectPayloadsInCreatedStateToBeRemoved() { var dataset = new List<Payload> { - new Payload("created-test", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Created }, + new Payload("created-test1", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Created }, + new Payload("created-test2", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Created }, new Payload("upload-test", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Move }, new Payload("notify-test", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Notify }, }; _repository.Setup(p => p.AsQueryable()).Returns(dataset.AsQueryable()); + _repository.Setup(p => p.Remove(It.IsAny<Payload>())); + var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); await Task.Delay(250); payloadAssembler.Dispose(); _cancellationTokenSource.Cancel(); - _logger.VerifyLogging($"Restoring payloads from database.", LogLevel.Information, Times.Once()); - _logger.VerifyLogging($"1 payloads restored from database.", LogLevel.Information, Times.Once()); + _repository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.Exactly(2)); } [RetryFact] diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs index 6ccf719ed..67bc77e7f 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs @@ -41,7 +41,6 @@ public class PayloadNotificationActionHandlerTest private readonly Mock<IMessageBrokerPublisherService> _messageBrokerPublisherService; private readonly Mock<IInformaticsGatewayRepository<Payload>> _informaticsGatewayReepository; - private readonly Mock<IStorageMetadataWrapperRepository> _storageReepository; private readonly Mock<IServiceScope> _serviceScope; private readonly ServiceProvider _serviceProvider; @@ -55,13 +54,11 @@ public PayloadNotificationActionHandlerTest() _messageBrokerPublisherService = new Mock<IMessageBrokerPublisherService>(); _informaticsGatewayReepository = new Mock<IInformaticsGatewayRepository<Payload>>(); - _storageReepository = new Mock<IStorageMetadataWrapperRepository>(); _serviceScope = new Mock<IServiceScope>(); var services = new ServiceCollection(); services.AddScoped(p => _messageBrokerPublisherService.Object); services.AddScoped(p => _informaticsGatewayReepository.Object); - services.AddScoped(p => _storageReepository.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); @@ -196,7 +193,6 @@ public async Task GivenAPayload_WhenMessageIsPublished_ExpectPayloadToBeDeleted( _messageBrokerPublisherService.Verify(p => p.Publish(It.IsAny<string>(), It.IsAny<Message>()), Times.AtLeastOnce()); _informaticsGatewayReepository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.AtLeastOnce()); - _storageReepository.Verify(p => p.DeleteAsync(It.IsAny<string>(), It.IsAny<string>()), Times.AtLeastOnce()); } } } diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index f5a013784..ab2641705 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -45,7 +45,6 @@ public class ObjectUploadServiceTest private readonly Mock<ILogger<ObjectUploadQueue>> _uploadQueueLogger; private readonly IObjectUploadQueue _uploadQueue; private readonly Mock<IStorageService> _storageService; - private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; private readonly CancellationTokenSource _cancellationTokenSource; private readonly ServiceProvider _serviceProvider; private readonly Mock<IServiceScope> _serviceScope; @@ -58,14 +57,12 @@ public ObjectUploadServiceTest() _storageService = new Mock<IStorageService>(); _logger = new Mock<ILogger<ObjectUploadService>>(); _options = Options.Create(new InformaticsGatewayConfiguration()); - _storageMetadataWrapperRepository = new Mock<IStorageMetadataWrapperRepository>(); _cancellationTokenSource = new CancellationTokenSource(); _serviceScope = new Mock<IServiceScope>(); var services = new ServiceCollection(); services.AddScoped(p => _uploadQueue); - services.AddScoped(p => _storageMetadataWrapperRepository.Object); services.AddScoped(p => _storageService.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); @@ -98,7 +95,6 @@ public void GivenAObjectUploadService_WhenInitialized_ExpectItToRemovingAllPendi { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); - _storageMetadataWrapperRepository.Verify(p => p.DeletePendingUploadsAsync(), Times.Once()); } [Fact] diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 152857690..2a9d060ef 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Minio" Version="4.0.5" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.7-rc0009" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> From 77a745d08f77dce36b646d729a5694a84ce176e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:13:11 -0700 Subject: [PATCH 057/101] Bump ConsoleAppFramework from 4.2.3 to 4.2.4 (#204) Bumps [ConsoleAppFramework](https://github.com/Cysharp/ConsoleAppFramework) from 4.2.3 to 4.2.4. - [Release notes](https://github.com/Cysharp/ConsoleAppFramework/releases) - [Commits](https://github.com/Cysharp/ConsoleAppFramework/compare/4.2.3...4.2.4) --- updated-dependencies: - dependency-name: ConsoleAppFramework dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj index 597e545a2..0ff8edd97 100644 --- a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj +++ b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj @@ -34,7 +34,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="ConsoleAppFramework" Version="4.2.3" /> + <PackageReference Include="ConsoleAppFramework" Version="4.2.4" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> </ItemGroup> From 71c7e5630191684a2e3f9332ca85365796319892 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 12 Oct 2022 16:42:19 -0700 Subject: [PATCH 058/101] Use NLog (#198) Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: Neil South <neil.south@answerdigital.com> --- .github/containerscan/allowedlist.yaml | 1 + .licenserc.yaml | 2 + Dockerfile | 3 + doc/dependency_decisions.yml | 35 +- docker-compose/.env | 28 + docker-compose/README.md | 42 + docker-compose/configs/elasticsearch.yml | 27 + docker-compose/configs/kibana.ndjson | 3 + docker-compose/configs/kibana.yml | 27 + docker-compose/configs/logstash.yml | 18 + docker-compose/configs/pipeline.yml | 16 + .../configs/pipeline/monai-deploy.conf | 47 + docker-compose/docker-compose.dev.yml | 71 - docker-compose/docker-compose.yml | 160 + docker-compose/init.sh | 23 + docs/changelog.md | 20 +- docs/compliance/third-party-licenses.md | 3725 +++-------------- docs/setup/schema.md | 88 +- docs/setup/setup.md | 21 +- src/Database/InformaticsGatewayContext.cs | 30 + .../Logging/Log.4000.ObjectUploadService.cs | 2 +- .../Logging/Log.500.ExportService.cs | 6 +- .../Monai.Deploy.InformaticsGateway.csproj | 9 +- src/InformaticsGateway/Program.cs | 51 +- .../Properties/launchSettings.json | 4 +- .../StorageMetadataWrapperRepository.cs | 4 +- .../Services/Connectors/PayloadAssembler.cs | 4 +- .../Connectors/PayloadNotificationService.cs | 4 +- .../Services/Scp/ApplicationEntityManager.cs | 2 +- .../Services/Scu/ScuService.cs | 2 +- .../Services/Storage/ObjectUploadService.cs | 2 +- .../PayloadMoveActionHandlerTest.cs | 9 +- .../Services/HealthLevel7/MllpServiceTest.cs | 20 +- .../Storage/ObjectUploadServiceTest.cs | 10 +- .../appsettings.Development.json | 20 - src/InformaticsGateway/appsettings.json | 46 +- src/InformaticsGateway/nlog.config | 86 + 37 files changed, 1252 insertions(+), 3416 deletions(-) create mode 100644 docker-compose/.env create mode 100644 docker-compose/README.md create mode 100644 docker-compose/configs/elasticsearch.yml create mode 100644 docker-compose/configs/kibana.ndjson create mode 100644 docker-compose/configs/kibana.yml create mode 100644 docker-compose/configs/logstash.yml create mode 100644 docker-compose/configs/pipeline.yml create mode 100644 docker-compose/configs/pipeline/monai-deploy.conf delete mode 100644 docker-compose/docker-compose.dev.yml create mode 100644 docker-compose/docker-compose.yml create mode 100755 docker-compose/init.sh create mode 100644 src/InformaticsGateway/nlog.config diff --git a/.github/containerscan/allowedlist.yaml b/.github/containerscan/allowedlist.yaml index c8056b1c6..b5699caab 100644 --- a/.github/containerscan/allowedlist.yaml +++ b/.github/containerscan/allowedlist.yaml @@ -15,3 +15,4 @@ general: vulnerabilities: - CVE-2018-8292 + - CVE-1999-1278 \ No newline at end of file diff --git a/.licenserc.yaml b/.licenserc.yaml index 4f33664ed..6808aeebe 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -33,6 +33,8 @@ header: - 'src/Database/Migrations/**' - 'demos/**/.env/**' - 'demos/**/*.txt' + - 'doc/dependency_decisions.yml' + - 'docker-compose/configs/kibana.ndjson' - 'docs/templates/**' - 'tests/Integration.Test/*.dev' - 'tests/Integration.Test/data/**' diff --git a/Dockerfile b/Dockerfile index ffd921c57..1aa8ba23a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,10 @@ RUN dotnet publish -c Release -o out --nologo src/InformaticsGateway/Monai.Deplo # Build runtime image FROM mcr.microsoft.com/dotnet/aspnet:6.0-jammy +# Enable elastic client compatibility mode +ENV ELASTIC_CLIENT_APIVERSIONING=true ENV DEBIAN_FRONTEND=noninteractive + RUN apt-get clean \ && apt-get update \ && apt-get install -y --no-install-recommends \ diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 4fd88a526..869872677 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -46,7 +46,7 @@ - :who: mocsharp :why: MIT (https://github.com/Cysharp/ConsoleAppFramework/raw/master/LICENSE) :versions: - - 4.2.3 + - 4.2.4 :when: 2022-08-16 23:05:31.110052610 Z - - :approve - Crayon @@ -808,14 +808,14 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.6 + - 0.1.8 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.6 + - 0.1.8 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage @@ -1694,7 +1694,6 @@ :versions: - 4.7.2 :when: 2022-08-16 23:07:19.845361666 Z - - - :approve - System.Text.Json - :who: mocsharp @@ -2370,3 +2369,31 @@ :versions: - 4.0.1 :when: 2022-08-16 23:10:21.184627612 Z +- - :approve + - NLog + - :who: mocsharp + :why: BSD 3-Clause License (https://github.com/NLog/NLog/raw/dev/LICENSE.txt) + :versions: + - 5.0.4 + :when: 2022-10-12 03:14:06.538744982 Z +- - :approve + - NLog.Extensions.Logging + - :who: mocsharp + :why: BSD 2-Clause Simplified License (https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) + :versions: + - 5.0.4 + :when: 2022-10-12 03:14:06.964203977 Z +- - :approve + - NLog.Web.AspNetCore + - :who: mocsharp + :why: BSD 3-Clause License (https://github.com/NLog/NLog.Web/raw/master/LICENSE) + :versions: + - 5.1.4 + :when: 2022-10-12 03:14:07.396706995 Z +- - :approve + - fo-dicom.NLog + - :who: mocsharp + :why: Microsoft Public License (https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) + :versions: + - 5.0.3 + :when: 2022-10-12 03:14:08.789273776 Z diff --git a/docker-compose/.env b/docker-compose/.env new file mode 100644 index 000000000..0dfb63865 --- /dev/null +++ b/docker-compose/.env @@ -0,0 +1,28 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ELASTIC_VERSION=8.4.2 + + +# Elastic Search +# User 'elastic' (built-in) +ELASTIC_PASSWORD='monai' + +# Logstash +# User 'logstash_internal' (custom) +LOGSTASH_INTERNAL_PASSWORD='monai' + +# Kibana +# User 'kibana_system' (built-in) +KIBANA_SYSTEM_PASSWORD='monai' diff --git a/docker-compose/README.md b/docker-compose/README.md new file mode 100644 index 000000000..4c833e59a --- /dev/null +++ b/docker-compose/README.md @@ -0,0 +1,42 @@ +<!-- +Copyright 2022 MONAI Consortium + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +# MONAI Deploy Informatics Gateway + +The [docker-compose.yml](./docker-compose.yml) file includes the following services to run the Informatics Gateway. + +* MinIO +* RabbitMQ +* ElasticSearch (optional) +* LogStash (optional) +* Kibana (optional) + + +## Running docker compose + +To start all Informatics Gateway dependencies, run `docker compose up`. + +Before running Informatics Gateway, ensure the following environment variables are exported: + +```bash +export DOTNET_ENVIRONMENT=Development # if using appsettings.Development.json +export LOGSTASH_URL=tcp://localhost:50000 # this tells Informatics Gateway to export logs to LogStash at tcp://localhost:5000 +``` +IMPORTANT: for Linux users, before running `docker compose up`, please run `init.sh` to create directories with the correct permissions first. Otherwise, ElasticSearch will not be able to start. + +### Kibana + +A default search is imported to Kibana at startup. To load the saved search, go to Analytics > Discover from the 🍔 menu. From the top right click *Open* and select *MONAI-Default*. diff --git a/docker-compose/configs/elasticsearch.yml b/docker-compose/configs/elasticsearch.yml new file mode 100644 index 000000000..b8ac7848f --- /dev/null +++ b/docker-compose/configs/elasticsearch.yml @@ -0,0 +1,27 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- + +## Default Elasticsearch configuration from Elasticsearch base image. +## https://github.com/elastic/elasticsearch/blob/main/distribution/docker/src/docker/config/elasticsearch.yml +# +cluster.name: "docker-cluster" +network.host: 0.0.0.0 + +## X-Pack settings +## see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html +# +xpack.security.enabled: false +xpack.license.self_generated.type: basic diff --git a/docker-compose/configs/kibana.ndjson b/docker-compose/configs/kibana.ndjson new file mode 100644 index 000000000..ec539eb3b --- /dev/null +++ b/docker-compose/configs/kibana.ndjson @@ -0,0 +1,3 @@ +{"attributes":{"fieldAttrs":"{\"@version\":{\"count\":1},\"EventId\":{\"count\":3},\"Level\":{\"count\":4},\"LoggerName\":{\"count\":3},\"MachineName\":{\"count\":1},\"Message\":{\"count\":2},\"ServiceName\":{\"count\":1},\"ServiceVersion\":{\"count\":1}}","fields":"[]","name":"monai-deploy","runtimeFieldMap":"{}","sourceFilters":"[]","timeFieldName":"@timestamp","title":"monai-deploy-*","typeMeta":"{}"},"coreMigrationVersion":"8.4.2","id":"6c4ef8fa-f382-4dad-8c82-f180f09fc88d","migrationVersion":{"index-pattern":"8.0.0"},"references":[],"type":"index-pattern","updated_at":"2022-10-11T21:54:09.450Z","version":"Wzc2MiwxXQ=="} +{"attributes":{"columns":["EventId","Level","LoggerName","Message"],"description":"","grid":{"columns":{"EventId":{"width":124},"Level":{"width":67.66666666666663},"LoggerName":{"width":668.1666666666667}}},"hideChart":false,"isTextBasedQuery":false,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[{\"meta\":{\"type\":\"phrases\",\"key\":\"Level\",\"params\":[\"TRACE\"],\"alias\":null,\"negate\":true,\"disabled\":false,\"value\":[\"TRACE\"],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"bool\":{\"should\":[{\"match_phrase\":{\"Level\":\"TRACE\"}}],\"minimum_should_match\":1}},\"$state\":{\"store\":\"appState\"}}],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"},"sort":[["@timestamp","desc"]],"title":"MONAI-Default"},"coreMigrationVersion":"8.4.2","id":"48ce7db0-49af-11ed-bde2-430e63791a09","migrationVersion":{"search":"8.0.0"},"references":[{"id":"6c4ef8fa-f382-4dad-8c82-f180f09fc88d","name":"kibanaSavedObjectMeta.searchSourceJSON.index","type":"index-pattern"},{"id":"6c4ef8fa-f382-4dad-8c82-f180f09fc88d","name":"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index","type":"index-pattern"}],"type":"search","updated_at":"2022-10-11T21:54:30.795Z","version":"Wzc3NSwxXQ=="} +{"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":2,"missingRefCount":0,"missingReferences":[]} \ No newline at end of file diff --git a/docker-compose/configs/kibana.yml b/docker-compose/configs/kibana.yml new file mode 100644 index 000000000..d84412c00 --- /dev/null +++ b/docker-compose/configs/kibana.yml @@ -0,0 +1,27 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +## Default Kibana configuration from Kibana base image. +## https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/templates/kibana_yml.template.ts +# +server.name: kibana +server.host: 0.0.0.0 +elasticsearch.hosts: [ "http://elasticsearch:9200" ] +monitoring.ui.container.elasticsearch.enabled: true + +## X-Pack security credentials +# +elasticsearch.username: kibana_system +elasticsearch.password: monai diff --git a/docker-compose/configs/logstash.yml b/docker-compose/configs/logstash.yml new file mode 100644 index 000000000..078e91f2a --- /dev/null +++ b/docker-compose/configs/logstash.yml @@ -0,0 +1,18 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +--- +## Default Logstash configuration from Logstash base image. +## https://github.com/elastic/logstash/blob/main/docker/data/logstash/config/logstash-full.yml +# +http.host: "0.0.0.0" diff --git a/docker-compose/configs/pipeline.yml b/docker-compose/configs/pipeline.yml new file mode 100644 index 000000000..a3ab98fdc --- /dev/null +++ b/docker-compose/configs/pipeline.yml @@ -0,0 +1,16 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +- pipeline.id: monei-deploy + path.config: "/usr/share/logstash/pipeline/monai-deploy.conf" + queue.type: persisted diff --git a/docker-compose/configs/pipeline/monai-deploy.conf b/docker-compose/configs/pipeline/monai-deploy.conf new file mode 100644 index 000000000..eed90d047 --- /dev/null +++ b/docker-compose/configs/pipeline/monai-deploy.conf @@ -0,0 +1,47 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +input { + tcp { + port => 50000 + type => nlog + } +} + +filter { + if [type] == "nlog" { + mutate { + remove_field => [ "host" ] + } + json { + source => "message" + remove_field => [ "message" ] + } + date{ + match => [ "Timestamp", "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZ" ] + } + + mutate { + remove_field => [ "time" ] + } + } +} + +output { + elasticsearch { + hosts => "elasticsearch:9200" + index => "monai-deploy-%{+YYYY.MM.dd}" + } +} diff --git a/docker-compose/docker-compose.dev.yml b/docker-compose/docker-compose.dev.yml deleted file mode 100644 index 0c6504cfa..000000000 --- a/docker-compose/docker-compose.dev.yml +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2022 MONAI Consortium -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: "3.9" -services: - rabbitmq: - image: rabbitmq:3-management - hostname: rabbitmq - ports: - - 5672:5672 - - 15672:15672 - environment: - RABBITMQ_DEFAULT_USER: "rabbitmq" - RABBITMQ_DEFAULT_PASS: "rabbitmq" - RABBITMQ_DEFAULT_VHOST: "monaideploy" - RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" - healthcheck: - test: rabbitmq-diagnostics -q ping - interval: 15s - timeout: 30s - retries: 3 - - minio: - image: "minio/minio:latest" - command: server --console-address ":9001" /data - hostname: minio - volumes: - - ./.run/minio/data:/data - - ./.run/minio/config:/root/.minio - ports: - - 9000:9000 - - 9001:9001 - environment: - MINIO_ROOT_USER: minioadmin - MINIO_ROOT_PASSWORD: minioadmin - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] - interval: 15s - timeout: 30s - retries: 3 - - createbuckets: - image: minio/mc - environment: - MINIO_ROOT_USER: minioadmin - MINIO_ROOT_PASSWORD: minioadmin - BUCKET_NAME: monaideploy - ENDPOINT: http://minio:9000 - depends_on: - minio: - condition: service_healthy - entrypoint: > - /bin/sh -c " - until (/usr/bin/mc config host add myminio $$ENDPOINT $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo '...waiting...' && sleep 1; done; - /usr/bin/mc mb myminio/$$BUCKET_NAME; - /usr/bin/mc policy set public myminio/$$BUCKET_NAME; - /usr/bin/mc ls myminio; - # exit 0 - " - diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml new file mode 100644 index 000000000..88658a0bc --- /dev/null +++ b/docker-compose/docker-compose.yml @@ -0,0 +1,160 @@ +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: "3.9" +services: + rabbitmq: + image: rabbitmq:3-management + hostname: rabbitmq + ports: + - 5672:5672 + - 15672:15672 + environment: + RABBITMQ_DEFAULT_USER: "rabbitmq" + RABBITMQ_DEFAULT_PASS: "rabbitmq" + RABBITMQ_DEFAULT_VHOST: "monaideploy" + RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" + healthcheck: + test: rabbitmq-diagnostics -q ping + interval: 15s + timeout: 30s + retries: 3 + networks: + - monaideploy + + minio: + image: "minio/minio:latest" + command: server --console-address ":9001" /data + hostname: minio + volumes: + - ./.run/minio/data:/data + - ./.run/minio/config:/root/.minio + ports: + - 9000:9000 + - 9001:9001 + environment: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 15s + timeout: 30s + retries: 3 + networks: + - monaideploy + + createbuckets: + image: minio/mc + environment: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + BUCKET_NAME: monaideploy + ENDPOINT: http://minio:9000 + depends_on: + minio: + condition: service_healthy + networks: + - monaideploy + entrypoint: > + /bin/sh -c " + until (/usr/bin/mc config host add myminio $$ENDPOINT $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo '...waiting...' && sleep 1; done; + /usr/bin/mc mb myminio/$$BUCKET_NAME; + /usr/bin/mc policy set public myminio/$$BUCKET_NAME; + /usr/bin/mc ls myminio; + # exit 0 + " + + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION} + hostname: elasticsearch + volumes: + - ./configs/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro,z + - .run/esdata:/usr/share/elasticsearch/data:rw,z + ports: + - "9200:9200" + - "9300:9300" + environment: + ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-} + ES_JAVA_OPTS: "-Xmx256m -Xms256m" + discovery.type: single-node + ELASTIC_CLIENT_APIVERSIONING: "true" + networks: + - monaideploy + healthcheck: + test: curl -s http://elasticsearch:9200 >/dev/null || exit 1 + interval: 30s + timeout: 10s + retries: 50 + + logstash: + image: docker.elastic.co/logstash/logstash:${ELASTIC_VERSION} + volumes: + - ./configs/logstash.yml:/usr/share/logstash/config/logstash.yml:ro,Z + - ./configs/pipeline.yml:/usr/share/logstash/config/pipeline.yml:ro,Z + - ./configs/pipeline:/usr/share/logstash/pipeline:ro + ports: + - "5044:5044" + - "50000:50000/tcp" + - "50000:50000/udp" + - "9600:9600" + environment: + LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-} + LS_JAVA_OPTS: "-Xmx2g -Xms2g" + depends_on: + elasticsearch: + condition: service_healthy + links: + - elasticsearch + networks: + - monaideploy + + kibana: + image: docker.elastic.co/kibana/kibana:${ELASTIC_VERSION} + volumes: + - ./configs/kibana.yml:/usr/share/kibana/config/kibana.yml:ro,Z + ports: + - 5601:5601 + environment: + KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-} + depends_on: + elasticsearch: + condition: service_healthy + networks: + - monaideploy + healthcheck: + test: curl -s -I http://localhost:5601 | grep -q 'HTTP/1.1 302 Found' + interval: 10s + timeout: 10s + retries: 120 + + kibana-setup: + image: curlimages/curl:latest + volumes: + - ./configs/kibana.ndjson:/usr/share/kibana.ndjson + depends_on: + elasticsearch: + condition: service_healthy + kibana: + condition: service_healthy + networks: + - monaideploy + entrypoint: > + /bin/sh -c " + curl -X POST http://kibana:5601/api/saved_objects/_import?createNewCopies=true -H 'kbn-xsrf: true' --form file=@/usr/share/kibana.ndjson + " + +networks: + monaideploy: + name: monaideploy + driver: bridge diff --git a/docker-compose/init.sh b/docker-compose/init.sh new file mode 100755 index 000000000..4ecd8a3d6 --- /dev/null +++ b/docker-compose/init.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# Copyright 2022 MONAI Consortium +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +RUNDIR=$PWD/.run + +echo "Initializing directories..." +[ -d $RUNDIR ] && echo "Removing existin $RUNDIR" && sudo rm -r $RUNDIR +mkdir -p $RUNDIR/esdata/ && echo "Created $RUNDIR/" +sudo chown 1000:1000 -R $RUNDIR/esdata && echo "Permission updated" +echo "Directories setup" +echo "Ready to run docker compose up" diff --git a/docs/changelog.md b/docs/changelog.md index e4febd8da..265c30b22 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -16,23 +16,27 @@ # Changelog -## 0.3.0 - -[GitHub Milestone 0.3.0](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/3) - -- Adds a basic [FHIR service](api/rest/config.md) to accept any versions of FHIR. -- Updates [Health Check API](api/rest/health.md) to replace `/health/live` and `/health/ready` APIs with `/health` API. -## 0.3.1 +## 0.3.2 [GitHub Milestone 0.3.2](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/8) -- New [C-ECHO API](api/rest/config.md) to perform a DICOM C-ECHO to a configured DICOM destination. +- The default logging framework has changed to [NLog](https://nlog-project.org/) to enable logging to ELK and other logging services. +- New APIs for managing DICOM sources & DICOM destinations + - `PUT /config/source`: [Update DICOM source](./api/rest/config.md#put-configsource) + - `PUT /config/destination`: [Update DICOM destination](./api/rest/config.md#put-configdestination) + - `GET /config/destination/cecho/{name}`: [C-ECHO DICOM destination](./api/rest/config.md#get-configdestinationcechoname) +- Updated the following APIs to return 409 if entity already existed: + - `POST /config/ae`: [Create MONAI SCP AE](./api/rest/config.md#post-configae) + - `POST /config/source`: [Create DICOM source](./api/rest/config.md#post-configsource) + - `POST /config/destination`: [Create DICOM destination](./api/rest/config.md#post-configdestination) + - Bug fixes & performance improvements. ## 0.3.1 [GitHub Milestone 0.3.1](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/7) +- New [C-ECHO API](api/rest/config.md) to perform a DICOM C-ECHO to a configured DICOM destination. - The SCU AE Title is now uppercase MONAISCU. - Update fo-dicom to 5.0.3 - Defaults temporary storage to use disk with ability to switch to memory. diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index bb33a72f8..dac81fbf3 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -589,14 +589,14 @@ limitations under the License. <details> -<summary>ConsoleAppFramework 4.2.3</summary> +<summary>ConsoleAppFramework 4.2.4</summary> ## ConsoleAppFramework -- Version: 4.2.3 +- Version: 4.2.4 - Authors: Cysharp - Project URL: https://github.com/Cysharp/ConsoleAppFramework -- Source: [NuGet](https://www.nuget.org/packages/ConsoleAppFramework/4.2.3) +- Source: [NuGet](https://www.nuget.org/packages/ConsoleAppFramework/4.2.4) - License: [MIT](https://github.com/Cysharp/ConsoleAppFramework/raw/master/LICENSE) @@ -784,45 +784,6 @@ SOFTWARE. </details> -<details> -<summary>DotNext 4.7.1</summary> - -## DotNext - -- Version: 4.7.1 -- Authors: .NET Foundation and Contributors -- Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.1) -- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) - - -``` -MIT License - -Copyright © .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>DotNext 4.7.2</summary> @@ -2088,226 +2049,6 @@ specific language governing permissions and limitations under the License. </details> -<details> -<summary>Microsoft.AspNetCore.Http.Abstractions 2.1.0</summary> - -## Microsoft.AspNetCore.Http.Abstractions - -- Version: 2.1.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Abstractions/2.1.0) -- License: [Apache-2.0](https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) .NET Foundation and Contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - <details> <summary>Microsoft.AspNetCore.Http.Extensions 2.2.0</summary> @@ -2374,226 +2115,6 @@ specific language governing permissions and limitations under the License. </details> -<details> -<summary>Microsoft.AspNetCore.Http.Features 2.1.0</summary> - -## Microsoft.AspNetCore.Http.Features - -- Version: 2.1.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Http.Features/2.1.0) -- License: [Apache-2.0](https://github.com/aspnet/HttpAbstractions/raw/master/LICENSE.txt) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) .NET Foundation and Contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - <details> <summary>Microsoft.AspNetCore.JsonPatch 2.2.0</summary> @@ -5032,14 +4553,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - Version: 6.0.8 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5073,14 +4594,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.9</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - Version: 6.0.9 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5114,14 +4635,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - Version: 6.0.8 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5155,14 +4676,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - Version: 6.0.9 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5196,15 +4717,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore +## Microsoft.Extensions.FileProviders.Abstractions -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -5237,89 +4758,7 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> - -## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.FileProviders.Abstractions 6.0.0</summary> - -## Microsoft.Extensions.FileProviders.Abstractions - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> +<summary>Microsoft.Extensions.FileProviders.Physical 6.0.0</summary> ## Microsoft.Extensions.FileProviders.Physical @@ -7166,6 +6605,37 @@ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI </details> +<details> +<summary>Microsoft.Toolkit.HighPerformance 7.1.2</summary> + +## Microsoft.Toolkit.HighPerformance + +- Version: 7.1.2 +- Authors: Microsoft.Toolkit +- Project URL: https://github.com/CommunityToolkit/WindowsCommunityToolkit +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Toolkit.HighPerformance/7.1.2) +- License: [MIT](https://github.com/CommunityToolkit/WindowsCommunityToolkit/raw/main/License.md) + + +``` +# Windows Community Toolkit + +Copyright © .NET Foundation and Contributors + +All rights reserved. + +## MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + <details> <summary>Microsoft.Win32.Primitives 4.3.0</summary> @@ -7847,14 +7317,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.6</summary> +<summary>Monai.Deploy.Messaging 0.1.8</summary> ## Monai.Deploy.Messaging -- Version: 0.1.6 +- Version: 0.1.8 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.6) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.8) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -8075,14 +7545,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.6</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.8</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.6 +- Version: 0.1.8 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.6) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.8) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -9320,6 +8790,142 @@ SOFTWARE. </details> +<details> +<summary>NLog 5.0.4</summary> + +## NLog + +- Version: 5.0.4 +- Authors: Jarek Kowalski,Kim Christensen,Julian Verdurmen +- Project URL: https://nlog-project.org/ +- Source: [NuGet](https://www.nuget.org/packages/NLog/5.0.4) +- License: [BSD 3-Clause License](https://github.com/NLog/NLog/raw/dev/LICENSE.txt) + + +``` +Copyright (c) 2004-2021 Jaroslaw Kowalski , Kim Christensen, Julian Verdurmen + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Jaroslaw Kowalski nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. +``` + +</details> + + +<details> +<summary>NLog.Extensions.Logging 5.0.4</summary> + +## NLog.Extensions.Logging + +- Version: 5.0.4 +- Authors: Microsoft,Julian Verdurmen +- Project URL: https://github.com/NLog/NLog.Extensions.Logging +- Source: [NuGet](https://www.nuget.org/packages/NLog.Extensions.Logging/5.0.4) +- License: [BSD 2-Clause Simplified License](https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) + + +``` +Copyright (c) 2016, NLog +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +</details> + + +<details> +<summary>NLog.Web.AspNetCore 5.1.4</summary> + +## NLog.Web.AspNetCore + +- Version: 5.1.4 +- Authors: Julian Verdurmen +- Project URL: https://github.com/NLog/NLog.Web +- Source: [NuGet](https://www.nuget.org/packages/NLog.Web.AspNetCore/5.1.4) +- License: [BSD 3-Clause License](https://github.com/NLog/NLog.Web/raw/master/LICENSE) + + +``` +BSD 3-Clause License + +Copyright (c) 2015-2020, Jaroslaw Kowalski , Kim Christensen, Julian Verdurmen +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of NLog nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + +</details> + + <details> <summary>NPOI 2.5.6</summary> @@ -10906,2440 +10512,51 @@ Apache License <details> -<summary>Serilog 2.10.0</summary> +<summary>SharpZipLib 1.3.3</summary> -## Serilog +## SharpZipLib -- Version: 2.10.0 -- Authors: Serilog Contributors -- Project URL: https://serilog.net/ -- Source: [NuGet](https://www.nuget.org/packages/Serilog/2.10.0) -- License: [Apache-2.0](https://github.com/serilog/serilog/raw/dev/LICENSE) +- Version: 1.3.3 +- Authors: ICSharpCode +- Project URL: https://github.com/icsharpcode/SharpZipLib +- Source: [NuGet](https://www.nuget.org/packages/SharpZipLib/1.3.3) +- License: [MIT](https://github.com/icsharpcode/SharpZipLib/raw/master/LICENSE.txt) ``` -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ +Copyright © 2000-2018 SharpZipLib Contributors -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, subject to the following conditions: -1. Definitions. +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +``` -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. +</details> -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. +<details> +<summary>SpecFlow 3.9.74</summary> -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. +## SpecFlow -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.AspNetCore 6.0.1</summary> - -## Serilog.AspNetCore - -- Version: 6.0.1 -- Authors: Microsoft,Serilog Contributors -- Project URL: https://github.com/serilog/serilog-aspnetcore -- Source: [NuGet](https://www.nuget.org/packages/Serilog.AspNetCore/6.0.1) -- License: [Apache-2.0](https://github.com/serilog/serilog-aspnetcore/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Enrichers.Environment 2.2.0</summary> - -## Serilog.Enrichers.Environment - -- Version: 2.2.0 -- Authors: Serilog Contributors -- Project URL: http://serilog.net/ -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Enrichers.Environment/2.2.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-enrichers-environment/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Extensions.Hosting 5.0.1</summary> - -## Serilog.Extensions.Hosting - -- Version: 5.0.1 -- Authors: Microsoft,Serilog Contributors -- Project URL: https://github.com/serilog/serilog-extensions-hosting -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Extensions.Hosting/5.0.1) -- License: [Apache-2.0](https://github.com/serilog/serilog-extensions-hosting/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Extensions.Logging 3.1.0</summary> - -## Serilog.Extensions.Logging - -- Version: 3.1.0 -- Authors: Microsoft,Serilog Contributors -- Project URL: https://github.com/serilog/serilog-extensions-logging -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Extensions.Logging/3.1.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-extensions-logging/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Formatting.Compact 1.1.0</summary> - -## Serilog.Formatting.Compact - -- Version: 1.1.0 -- Authors: Serilog Contributors -- Owners: Serilog Contributors -- Project URL: https://github.com/serilog/serilog-formatting-compact -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Formatting.Compact/1.1.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-formatting-compact/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Settings.Configuration 3.3.0</summary> - -## Serilog.Settings.Configuration - -- Version: 3.3.0 -- Authors: Serilog Contributors -- Project URL: https://github.com/serilog/serilog-settings-configuration/ -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Settings.Configuration/3.3.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-settings-configuration/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Sinks.Console 4.0.1</summary> - -## Serilog.Sinks.Console - -- Version: 4.0.1 -- Authors: Serilog Contributors -- Project URL: https://github.com/serilog/serilog-sinks-console -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Console/4.0.1) -- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-console/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Sinks.Debug 2.0.0</summary> - -## Serilog.Sinks.Debug - -- Version: 2.0.0 -- Authors: Serilog Contributors -- Project URL: https://github.com/serilog/serilog-sinks-debug -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Debug/2.0.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-debug/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Sinks.File 5.0.0</summary> - -## Serilog.Sinks.File - -- Version: 5.0.0 -- Authors: Serilog Contributors -- Project URL: https://serilog.net/ -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.File/5.0.0) -- License: [Apache-2.0](https://github.com/serilog/serilog-sinks-file/raw/dev/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>Serilog.Sinks.Http 8.0.0</summary> - -## Serilog.Sinks.Http - -- Version: 8.0.0 -- Authors: Mattias Kindborg -- Project URL: https://github.com/FantasticFiasco/serilog-sinks-http -- Source: [NuGet](https://www.nuget.org/packages/Serilog.Sinks.Http/8.0.0) -- License: [Apache-2.0](https://github.com/FantasticFiasco/serilog-sinks-http/raw/master/LICENSE) - - -``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2017-2022 Mattias Kindborg - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - -<details> -<summary>SharpZipLib 1.3.3</summary> - -## SharpZipLib - -- Version: 1.3.3 -- Authors: ICSharpCode -- Project URL: https://github.com/icsharpcode/SharpZipLib -- Source: [NuGet](https://www.nuget.org/packages/SharpZipLib/1.3.3) -- License: [MIT](https://github.com/icsharpcode/SharpZipLib/raw/master/LICENSE.txt) - - -``` -Copyright © 2000-2018 SharpZipLib Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or -substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -``` - -</details> - - -<details> -<summary>SpecFlow 3.9.74</summary> - -## SpecFlow - -- Version: 3.9.74 -- Authors: SpecFlow Team -- Owners: SpecFlow Team -- Project URL: https://www.specflow.org/ -- Source: [NuGet](https://www.nuget.org/packages/SpecFlow/3.9.74) -- License: [New BSD License](https://github.com/SpecFlowOSS/SpecFlow/raw/master/LICENSE.txt) +- Version: 3.9.74 +- Authors: SpecFlow Team +- Owners: SpecFlow Team +- Project URL: https://www.specflow.org/ +- Source: [NuGet](https://www.nuget.org/packages/SpecFlow/3.9.74) +- License: [New BSD License](https://github.com/SpecFlowOSS/SpecFlow/raw/master/LICENSE.txt) ``` @@ -22826,39 +20043,6 @@ consequential or other damages. </details> -<details> -<summary>System.Reflection.TypeExtensions 4.7.0</summary> - -## System.Reflection.TypeExtensions - -- Version: 4.7.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://github.com/dotnet/corefx -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.7.0) -- License: [MIT](https://licenses.nuget.org/MIT) - - -``` -'MIT' reference - - - -SPDX identifier -MIT -License text - MIT License _____ - -Permission is hereby granted, free of charge, to any person obtaining a copy of _____ (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL _____ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` - -</details> - - <details> <summary>System.Resources.ResourceManager 4.3.0</summary> @@ -30405,107 +27589,412 @@ your state or country may not allow the exclusion or limitation of incidental, consequential or other damages. ``` -</details> +</details> + + +<details> +<summary>Validation 2.4.18</summary> + +## Validation + +- Version: 2.4.18 +- Authors: Andrew Arnott +- Owners: Andrew Arnott +- Project URL: http://github.com/aarnott/Validation +- Source: [NuGet](https://www.nuget.org/packages/Validation/2.4.18) +- License: [Microsoft Public License]( https://raw.githubusercontent.com/AArnott/Validation/69e6a2c4f3/LICENSE.txt) + + +``` +Microsoft Public License (MS-PL) +This license governs use of the accompanying software. If you use the software, you +accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the +same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. +(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. +``` + +</details> + + +<details> +<summary>Xunit.SkippableFact 1.3.12</summary> + +## Xunit.SkippableFact + +- Version: 1.3.12 +- Authors: Andrew Arnott +- Owners: Andrew Arnott +- Project URL: https://github.com/AArnott/Xunit.SkippableFact +- Source: [NuGet](https://www.nuget.org/packages/Xunit.SkippableFact/1.3.12) +- License: [Microsoft Public License]( https://raw.githubusercontent.com/AArnott/Xunit.SkippableFact/c7f20eaa78/LICENSE.txt) + + +``` +This software is licensed under the Microsoft Public License +http://opensource.org/licenses/ms-pl + +This license governs use of the accompanying software. If you use the software, you +accept this license. If you do not accept the license, do not use the software. + +1. Definitions + The terms "reproduce," "reproduction," "derivative works," and "distribution" have the + same meaning here as under U.S. copyright law. + A "contribution" is the original software, or any additions or changes to the software. + A "contributor" is any person that distributes its contribution under this license. + "Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights + (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. + (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations + (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. + (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. + (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. + (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. + (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. +``` + +</details> + + +<details> +<summary>coverlet.collector 3.1.2</summary> + +## coverlet.collector + +- Version: 3.1.2 +- Authors: tonerdo +- Project URL: https://github.com/coverlet-coverage/coverlet +- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.1.2) +- License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) 2018 Toni Solarin-Sodara + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>fo-dicom 5.0.2</summary> + +## fo-dicom + +- Version: 5.0.2 +- Authors: fo-dicom contributors +- Project URL: https://github.com/fo-dicom/fo-dicom +- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.2) +- License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) + + +``` +Fellow Oak DICOM + +Copyright (c) 2012-2021 fo-dicom contributors + +This software is licensed under the Microsoft Public License (MS-PL) + +Microsoft Public License (MS-PL) + +This license governs use of the accompanying software. If you use the software, you +accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the +same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works + of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the + contribution in the software. + +3. Conditions and Limitations +(A) No Trademark License- This license does not grant you rights to use any contributors' name, + logo, or trademarks. +(B) If you bring a patent claim against any contributor over patents that you claim are infringed + by the software, your patent license from such contributor to the software ends automatically. +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, + and attribution notices that are present in the software. +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license + that complies with this license. +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose + and non-infringement. + + + +---- libijg (from DCMTK 3.5.4 COPYRIGHT) ---- + +Unless otherwise specified, the DCMTK software package has the +following copyright: + +/* + * Copyright (C) 1994-2004, OFFIS + * + * This software and supporting documentation were developed by + * + * Kuratorium OFFIS e.V. + * Healthcare Information and Communication Systems + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY + * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR + * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR + * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND + * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. + * + * Copyright of the software and supporting documentation is, unless + * otherwise stated, owned by OFFIS, and free access is hereby granted as + * a license to use this software, copy this software and prepare + * derivative works based upon this software. However, any distribution + * of this software source code or supporting documentation or derivative + * works (source code and supporting documentation) must include the + * three paragraphs of this copyright notice. + * + */ + +The dcmjpeg sub-package includes an adapted version of the Independent JPEG +Group Toolkit Version 6b, which is contained in dcmjpeg/libijg8, +dcmjpeg/libijg12 and dcmjpeg/libijg16. This toolkit is covered by the +following copyright. The original README file for the Independent JPEG +Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. +/* + * The authors make NO WARRANTY or representation, either express or implied, + * with respect to this software, its quality, accuracy, merchantability, or + * fitness for a particular purpose. This software is provided "AS IS", and you, + * its user, assume the entire risk as to its quality and accuracy. + * + * This software is copyright (C) 1991-1998, Thomas G. Lane. + * All Rights Reserved except as specified below. + * + * Permission is hereby granted to use, copy, modify, and distribute this + * software (or portions thereof) for any purpose, without fee, subject to these + * conditions: + * (1) If any part of the source code for this software is distributed, then this + * README file must be included, with this copyright and no-warranty notice + * unaltered; and any additions, deletions, or changes to the original files + * must be clearly indicated in accompanying documentation. + * (2) If only executable code is distributed, then the accompanying + * documentation must state that "this software is based in part on the work of + * the Independent JPEG Group". + * (3) Permission for use of this software is granted only if the user accepts + * full responsibility for any undesirable consequences; the authors accept + * NO LIABILITY for damages of any kind. + * + * These conditions apply to any software derived from or based on the IJG code, + * not just to the unmodified library. If you use our work, you ought to + * acknowledge us. + * + * Permission is NOT granted for the use of any IJG author's name or company name + * in advertising or publicity relating to this software or products derived from + * it. This software may be referred to only as "the Independent JPEG Group's + * software". + * + * We specifically permit and encourage the use of this software as the basis of + * commercial products, provided that all warranty or liability claims are + * assumed by the product vendor. + */ -<details> -<summary>Validation 2.4.18</summary> -## Validation -- Version: 2.4.18 -- Authors: Andrew Arnott -- Owners: Andrew Arnott -- Project URL: http://github.com/aarnott/Validation -- Source: [NuGet](https://www.nuget.org/packages/Validation/2.4.18) -- License: [Microsoft Public License]( https://raw.githubusercontent.com/AArnott/Validation/69e6a2c4f3/LICENSE.txt) +---- OpenJPEG JPEG 2000 codec (from license.txt) ---- +/* + * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2007, Professor Benoit Macq + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ -``` -Microsoft Public License (MS-PL) -This license governs use of the accompanying software. If you use the software, you -accept this license. If you do not accept the license, do not use the software. -1. Definitions -The terms "reproduce," "reproduction," "derivative works," and "distribution" have the -same meaning here as under U.S. copyright law. -A "contribution" is the original software, or any additions or changes to the software. -A "contributor" is any person that distributes its contribution under this license. -"Licensed patents" are a contributor's patent claims that read directly on its contribution. -2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. +---- CharLS JPEG-LS codec (from License.txt) ---- -3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -``` +Copyright (c) 2007-2009, Jan de Vaan +All rights reserved. -</details> +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -<details> -<summary>Xunit.SkippableFact 1.3.12</summary> +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. -## Xunit.SkippableFact +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. -- Version: 1.3.12 -- Authors: Andrew Arnott -- Owners: Andrew Arnott -- Project URL: https://github.com/AArnott/Xunit.SkippableFact -- Source: [NuGet](https://www.nuget.org/packages/Xunit.SkippableFact/1.3.12) -- License: [Microsoft Public License]( https://raw.githubusercontent.com/AArnott/Xunit.SkippableFact/c7f20eaa78/LICENSE.txt) +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -This software is licensed under the Microsoft Public License -http://opensource.org/licenses/ms-pl -This license governs use of the accompanying software. If you use the software, you -accept this license. If you do not accept the license, do not use the software. +---- Unity.IO.Compression (from LICENSE.TXT and PATENTS.TXT) ---- -1. Definitions - The terms "reproduce," "reproduction," "derivative works," and "distribution" have the - same meaning here as under U.S. copyright law. - A "contribution" is the original software, or any additions or changes to the software. - A "contributor" is any person that distributes its contribution under this license. - "Licensed patents" are a contributor's patent claims that read directly on its contribution. +The MIT License (MIT) -2. Grant of Rights - (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. - (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. +Copyright (c) Microsoft Corporation -3. Conditions and Limitations - (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. - (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. - (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. - (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. - (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. -``` +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -</details> +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +Microsoft Patent Promise for .NET Libraries and Runtime Components -<details> -<summary>coverlet.collector 3.1.2</summary> +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -## coverlet.collector +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -- Version: 3.1.2 -- Authors: tonerdo -- Project URL: https://github.com/coverlet-coverage/coverlet -- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.1.2) -- License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. +Definitions: + +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. + +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. + +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). + +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. + + + +---- Nito.AsyncEx (from LICENSE.TXT) ---- -``` The MIT License (MIT) -Copyright (c) 2018 Toni Solarin-Sodara +Copyright (c) 2014 StephenCleary Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -30835,14 +28324,14 @@ SOFTWARE. <details> -<summary>fo-dicom 5.0.3</summary> +<summary>fo-dicom.NLog 5.0.3</summary> -## fo-dicom +## fo-dicom.NLog - Version: 5.0.3 - Authors: fo-dicom contributors - Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) +- Source: [NuGet](https://www.nuget.org/packages/fo-dicom.NLog/5.0.3) - License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) diff --git a/docs/setup/schema.md b/docs/setup/schema.md index 752711e1a..1d152d0b6 100644 --- a/docs/setup/schema.md +++ b/docs/setup/schema.md @@ -46,7 +46,7 @@ The `InformaticsGateway` configuration section contains the following sub-sectio | dicomWeb | DICOMweb service configuration options | [DicomWebConfiguration](xref:Monai.Deploy.InformaticsGateway.Configuration.DicomWebConfiguration) | | export | Export service configuration options | [DataExportConfiguration](xref:Monai.Deploy.InformaticsGateway.Configuration.DataExportConfiguration) | | fhir | FHIR service configuration options | [FhirConfiguration](xref:Monai.Deploy.InformaticsGateway.Configuration.FhirConfiguration) | -| hl7 | HL7 listener configuration options | [Hl7Configuration](xref:Monai.Deploy.InformaticsGateway.Configuration.Hl7Configuration) | +| hl7 | HL7 listener configuration options | [Hl7Configuration](xref:Monai.Deploy.InformaticsGateway.Configuration.Hl7Configuration) | | storage | Storage configuration options, including storage service and disk usage monitoring | [StorageConfiguration](xref:Monai.Deploy.InformaticsGateway.Configuration.StorageConfiguration) | | messaging | Message broker configuration options | [MessageBrokerConfiguration](xref:Monai.Deploy.InformaticsGateway.Configuration.MessageBrokerConfiguration) | | Cli | The configuration used by the CLI | - | @@ -121,50 +121,6 @@ The `InformaticsGateway` configuration section contains the following sub-sectio "sendAck": true } }, - "Logging": { - "LogLevel": { - "Default": "Information", - "Dicom": "Information", - "System": "Warning", - "Microsoft": "Warning", - "Microsoft.EntityFrameworkCore": "Warning", - "Microsoft.Hosting.Lifetime": "Warning", - "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker": "Error", - "Monai": "Information" - }, - "Console": { - "FormatterName": "Systemd", - "FormatterOptions": { - "ColorBehavior": "Disabled", - "IncludeScopes": true, - "SingleLine": false, - "TimestampFormat": " HH:mm:ss ", - "UseUtcTimestamp": true - } - } - }, - "Serilog": { - "WriteTo": [ - { - "Name": "File", - "Args": { - "path": "logs/MTM-.log", - "rollingInterval": "Day", - "rollOnFileSizeLimit": true, - "fileSizeLimitBytes": "10485760", - "retainedFileCountLimit": 30, - "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" - } - }, - { - "Name": "Http", - "Args": { - //"requestUri": "http://192.168.0.62:5000", - "queueLimitBytes": null - } - } - ] - }, "Kestrel": { "EndPoints": { "Http": { @@ -195,43 +151,13 @@ Informatics Gateway validates all configuration options at startup. Any provided ### Logging -Informatics Gateway, by default, is configured to writes all logs to the console as well as text files. The behaviors may be changed in the `Logging` section of the `appsettings.json` file, by uncommenting the `"requestUri": "http://192.168.0.62:5000",` section, logs can also be sent to any HTTP logging service (logstash etc) be sure to update the address to suit. +Informatics Gateway, by default, is configured to writes all logs to the console as well as text files. The behaviors may be changed in the `nlog.config` file. -> [!Note] -> If the Informatics Gateway is running inside a Docker container, additional configuration may be required to limit the size to prevent filling up storage space. Refer to the [Docker documentation](https://docs.docker.com/config/containers/logging/configure/) for additional information. +Logs files are stored in the `logs/` directory where the Informatics Gateway executable is stored. To change the location, modify the `logDir` variable defined in the `nlog.config` file. -#### Log Levels +Informaitcs Gateway also supports shipping logs to [LogStash, ELK](https://www.elastic.co/elastic-stack/) using the [Network target](https://github.com/NLog/NLog/wiki/Network-target) provided by [NLog](https://nlog-project.org/). To enable this feature, simply set the environment variable `LOGSTASH_URL` to the TCP endpoint of LogStash. E.g. `LOGSTASH_URL=tcp://my-logstash-ip:5000`. -By default, the Monai namespace logs all Information level logs. However, the log level may be adjusted on a per-module basis. For example, given the following log entries: +To use other logging services, refer to [NLog Config](https://nlog-project.org/config/). -``` - 14:26:13 info: Monai.Deploy.InformaticsGateway.Services.Connectors.WorkloadManagerNotificationService[0] - MONAI Workload Manager Notification Hosted Service is running. - 14:26:13 info: Monai.Deploy.InformaticsGateway.Services.Storage.SpaceReclaimerService[0] - Disk Space Reclaimer Hosted Service is running. -``` - -If additional information is required to debug the **WorkloadManagerNotificationService** module or to turn down the noise, add a new entry under the LogLevel section of the configuration file to adjust it: - -``` - "Logging": { - "LogLevel": { - "Monai": "Information", - "Monai.Deploy.InformaticsGateway.Services.Connectors.WorkloadManagerNotificationService": "Debug", - ... -``` - -The following log levels may be used: - -- Trace -- Debug -- Information -- Warning -- Error -- Critical -- None - -Additional information may be found on `docs.microsoft.com`: - -- [LogLevel Enum](https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel) -- [Logging in .NET](https://docs.microsoft.com/en-us/dotnet/core/extensions/logging) +> [!Note] +> If the Informatics Gateway is running inside a Docker container, additional configuration may be required to limit the size to prevent logs from filling up storage space. Refer to the [Docker documentation](https://docs.docker.com/config/containers/logging/configure/) for additional information. diff --git a/docs/setup/setup.md b/docs/setup/setup.md index 0cb5f13df..01a870a21 100644 --- a/docs/setup/setup.md +++ b/docs/setup/setup.md @@ -110,7 +110,6 @@ To change the temporary storage path, locate the `InformaticsGateway>storage>loc > Also, consider changing the AE Title timeout if the AE Title needs to wait a long time before assembling and uploading > the payload for final storage. - > [!Note] > Before running the Informatics Gateway, adjust the values of `watermarkPercent` and `reserveSpaceGB` based on > the expected number of studies and size of each study. The suggested value for `reserveSpaceGB` is 2x to 3x the @@ -151,10 +150,11 @@ Locate the storage section of the configuration in `appsettings.json`: #### Install the Storage Plug-in -As shown above, the default plug-in configured is __MinIO__. +As shown above, the default plug-in configured is __MinIO__ and is ready to use. + +To use other storage plug-in, refer to [MONAI Deploy Storage](https://github.com/Project-MONAI/monai-deploy-storage/releases) for available plug-ins or bring your own plug-in. -To install the default MinIO plug-in, download the `Monai.Deploy.Storage.MinIO.zip` plug-in from [MONAI Deploy Storage](https://github.com/Project-MONAI/monai-deploy-storage/releases) -and unzip the files to the `plug-ins` directory in your home directory: +To install a new storage plug-in, unzip the files to the `plug-ins` directory in your home directory: * Linux: `~/.mig/plug-ins` * Windows: `C:\Users\[username]\.mig\plug-ins` @@ -204,11 +204,11 @@ and subscriber settings. #### Install the Messaging Plug-in -As shown above, the default plug-in configured is __RabbitMQ__. +As shown above, the default plug-in configured is __RabbitMQ__ and is ready to use. + +To use other plug-in, refer to [MONAI Deploy Messaging](https://github.com/Project-MONAI/monai-deploy-messaging/releases) for available plug-ins. -To install the default RabbitMQ plug-in, download the `Monai.Deploy.Messaging.RabbitMQ.zip` plug-in -rom [MONAI Deploy Messaging](https://github.com/Project-MONAI/monai-deploy-messaging/releases) -and unzip the files to the `plug-ins` directory in your home directory: +To install a new messaging plug-in, unzip the files to the `plug-ins` directory in your home directory: * Linux: `~/.mig/plug-ins` * Windows: `C:\Users\[username]\.mig\plug-ins` @@ -284,3 +284,8 @@ mig-cli dst add -a WORKSTATION1 -h 100.200.10.20 -p 104 ``` The command adds a DICOM export destination with AE Title `WORKSTATION1` at IP `100.200.10.20` and port `104`. + +## Logging + +See [schema](./schema.md#logging) page for additional information on logging. + diff --git a/src/Database/InformaticsGatewayContext.cs b/src/Database/InformaticsGatewayContext.cs index bfebcce51..562684a76 100644 --- a/src/Database/InformaticsGatewayContext.cs +++ b/src/Database/InformaticsGatewayContext.cs @@ -15,6 +15,8 @@ */ using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Diagnostics; +using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; namespace Monai.Deploy.InformaticsGateway.Database @@ -40,5 +42,33 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) modelBuilder.ApplyConfiguration(new PayloadConfiguration()); modelBuilder.ApplyConfiguration(new StorageMetadataWrapperEntityConfiguration()); } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + => optionsBuilder.ConfigureWarnings(c => c.Log( + (CoreEventId.SaveChangesCompleted, LogLevel.Trace), + (CoreEventId.SaveChangesStarting, LogLevel.Trace), + (CoreEventId.DetectChangesStarting, LogLevel.Trace), + (CoreEventId.DetectChangesCompleted, LogLevel.Trace), + (CoreEventId.StartedTracking, LogLevel.Trace), + (CoreEventId.ContextInitialized, LogLevel.Trace), + (CoreEventId.StateChanged, LogLevel.Trace), + (CoreEventId.QueryCompilationStarting, LogLevel.Trace), + (CoreEventId.QueryExecutionPlanned, LogLevel.Trace), + (RelationalEventId.CommandExecuting, LogLevel.Trace), + (RelationalEventId.CommandExecuted, LogLevel.Trace), + (RelationalEventId.ConnectionClosing, LogLevel.Trace), + (RelationalEventId.ConnectionClosed, LogLevel.Trace), + (RelationalEventId.DataReaderDisposing, LogLevel.Trace), + (RelationalEventId.ConnectionOpening, LogLevel.Trace), + (RelationalEventId.ConnectionOpened, LogLevel.Trace), + (RelationalEventId.CommandCreating, LogLevel.Trace), + (RelationalEventId.CommandCreating, LogLevel.Trace), + (RelationalEventId.TransactionStarted, LogLevel.Trace), + (RelationalEventId.TransactionStarting, LogLevel.Trace), + (RelationalEventId.TransactionCommitted, LogLevel.Trace), + (RelationalEventId.TransactionCommitting, LogLevel.Trace), + (RelationalEventId.TransactionDisposed, LogLevel.Trace), + (RelationalEventId.CommandCreated, LogLevel.Trace) + )); } } diff --git a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs index 292c02580..4e04f8743 100644 --- a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs +++ b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs @@ -42,7 +42,7 @@ public static partial class Log [LoggerMessage(EventId = 4006, Level = LogLevel.Information, Message = "File uploaded to temporary store at {filePath}.")] public static partial void UploadedFileToTemporaryStore(this ILogger logger, string filePath); - [LoggerMessage(EventId = 4007, Level = LogLevel.Information, Message = "Items in queue {count}.")] + [LoggerMessage(EventId = 4007, Level = LogLevel.Debug, Message = "Items in queue {count}.")] public static partial void InstanceInUploadQueue(this ILogger logger, int count); [LoggerMessage(EventId = 4008, Level = LogLevel.Error, Message = "Unknown error occurred while uploading.")] diff --git a/src/InformaticsGateway/Logging/Log.500.ExportService.cs b/src/InformaticsGateway/Logging/Log.500.ExportService.cs index 3e26a6832..605caea9c 100644 --- a/src/InformaticsGateway/Logging/Log.500.ExportService.cs +++ b/src/InformaticsGateway/Logging/Log.500.ExportService.cs @@ -28,7 +28,7 @@ public static partial class Log [LoggerMessage(EventId = 501, Level = LogLevel.Warning, Message = "{ServiceName} paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}.")] public static partial void ExportPausedDueToInsufficientStorageSpace(this ILogger logger, string serviceName, long availableFreeSpace); - [LoggerMessage(EventId = 502, Level = LogLevel.Warning, Message = "Correlation ID={correlationId}. The export request {exportTaskId} is already queued for export.")] + [LoggerMessage(EventId = 502, Level = LogLevel.Warning, Message = "CorrelationId={correlationId}. The export request {exportTaskId} is already queued for export.")] public static partial void ExportRequestAlreadyQueued(this ILogger logger, string correlationId, string exportTaskId); [LoggerMessage(EventId = 503, Level = LogLevel.Debug, Message = "Downloading {file}.")] @@ -118,9 +118,7 @@ public static partial class Log [LoggerMessage(EventId = 531, Level = LogLevel.Warning, Message = "Export service paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}")] public static partial void ExportServiceStoppedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); - [LoggerMessage(EventId = 532, Level = LogLevel.Information, Message = "Correlation ID={correlationId}. Export request {exportTaskId} received & queued for processing.")] + [LoggerMessage(EventId = 532, Level = LogLevel.Information, Message = "CorrelationId={correlationId}. Export request {exportTaskId} received & queued for processing.")] public static partial void ExportRequestQueuedForProcessing(this ILogger logger, string correlationId, string exportTaskId); - - } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 0b589c066..80d7432f1 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -34,8 +34,8 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="DotNext.Threading" Version="4.7.2" /> - <PackageReference Include="Elastic.CommonSchema.Serilog" Version="1.5.3" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> + <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> @@ -51,9 +51,9 @@ <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> + <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.4" /> + <PackageReference Include="NLog" Version="5.0.4" /> <PackageReference Include="Polly" Version="7.2.3" /> - <PackageReference Include="Serilog.AspNetCore" Version="6.0.1" /> - <PackageReference Include="Serilog.Exceptions" Version="8.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> </ItemGroup> @@ -84,6 +84,7 @@ <ItemGroup> <None Include="./appsettings.json" CopyToOutputDirectory="Always" /> <None Include="./appsettings.Development.json" CopyToOutputDirectory="Always" /> + <None Include="./nlog.config" CopyToOutputDirectory="Always" /> </ItemGroup> <Target Name="CopyPlugins" AfterTargets="Publish"> @@ -101,4 +102,6 @@ <Copy SourceFiles="@(PluginDlls)" DestinationFolder="$(OutDir)\plug-ins\" SkipUnchangedFiles="true" /> <Message Text="Files copied successfully to $(OutDir)\plug-ins\." Importance="high" /> </Target> + + <ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="https://json.schemastore.org/band-manifest.json" /></VisualStudio></ProjectExtensions> </Project> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 1907fd402..67e055999 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -19,7 +19,7 @@ using System.IO.Abstractions; using System.Reflection; using Ardalis.GuardClauses; -using Elastic.CommonSchema.Serilog; +using FellowOakDicom.Log; using Microsoft.AspNetCore.Hosting; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -46,9 +46,10 @@ using Monai.Deploy.Messaging.Configuration; using Monai.Deploy.Storage; using Monai.Deploy.Storage.Configuration; -using Serilog; -using Serilog.Events; -using Serilog.Exceptions; +using NLog; +using NLog.LayoutRenderers; +using NLog.Web; +using LogManager = NLog.LogManager; namespace Monai.Deploy.InformaticsGateway { @@ -59,9 +60,16 @@ protected Program() private static void Main(string[] args) { + var version = typeof(Program).Assembly; + var assemblyVersionNumber = version.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion ?? "0.0.1"; + + var logger = ConfigureNLog(assemblyVersionNumber); + logger.Info($"Initializing MONAI Deploy Informatics Gateway v{assemblyVersionNumber}"); + var host = CreateHostBuilder(args).Build(); InitializeDatabase(host); host.Run(); + logger.Info("MONAI Deploy Informatics Gateway shutting down."); } internal static void InitializeDatabase(IHost host) @@ -88,25 +96,11 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false) .AddEnvironmentVariables(); }) - .ConfigureLogging((builderContext, configureLogging) => + .ConfigureLogging((builderContext, builder) => { - configureLogging.AddConfiguration(builderContext.Configuration.GetSection("Logging")); - configureLogging.AddFile(o => o.RootPath = AppContext.BaseDirectory); + builder.ClearProviders(); + builder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); }) - .UseSerilog((context, services, configuration) => configuration - .ReadFrom.Configuration(context.Configuration) - .ReadFrom.Services(services) - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .MinimumLevel.Debug() - .Enrich.FromLogContext() - .Enrich.WithExceptionDetails() - .Enrich.WithProperty("dllversion", Assembly.GetEntryAssembly().GetName().Version) - .Enrich.WithProperty("dllName", Assembly.GetEntryAssembly().GetName().Name) - .WriteTo.File( - path: "logs/MWM-.log", - rollingInterval: RollingInterval.Day, - formatter: new EcsTextFormatter()) - .WriteTo.Console()) .ConfigureServices((hostContext, services) => { services.AddOptions<InformaticsGatewayConfiguration>() @@ -137,14 +131,13 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddMonaiDeployStorageService(hostContext.Configuration.GetSection("InformaticsGateway:storage:serviceAssemblyName").Value, Monai.Deploy.Storage.HealthCheckOptions.ServiceHealthCheck); - services.AddMonaiDeployMessageBrokerPublisherService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:publisherServiceAssemblyName").Value, true); services.AddMonaiDeployMessageBrokerSubscriberService(hostContext.Configuration.GetSection("InformaticsGateway:messaging:subscriberServiceAssemblyName").Value, true); services.AddSingleton<ConfigurationValidator>(); services.AddSingleton<IObjectUploadQueue, ObjectUploadQueue>(); services.AddSingleton<IPayloadAssembler, PayloadAssembler>(); - services.AddSingleton<FellowOakDicom.Log.ILogManager, Logging.FoDicomLogManager>(); + services.AddSingleton<FellowOakDicom.Log.ILogManager, NLogManager>(); services.AddSingleton<IMonaiServiceLocator, MonaiServiceLocator>(); services.AddSingleton<IStorageInfoProvider, StorageInfoProvider>(); services.AddSingleton<IMonaiAeChangedNotificationService, MonaiAeChangedNotificationService>(); @@ -191,6 +184,16 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => webBuilder.ConfigureKestrel(options => options.Limits.MaxRequestBodySize = int.MaxValue); webBuilder.CaptureStartupErrors(true); webBuilder.UseStartup<Startup>(); - }); + }) + .UseNLog(); + + private static NLog.Logger ConfigureNLog(string assemblyVersionNumber) + { + LayoutRenderer.Register("servicename", logEvent => Assembly.GetEntryAssembly()?.GetName().Name); + LayoutRenderer.Register("serviceversion", logEvent => assemblyVersionNumber); + LayoutRenderer.Register("machinename", logEvent => Environment.MachineName); + + return LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger(); + } } } diff --git a/src/InformaticsGateway/Properties/launchSettings.json b/src/InformaticsGateway/Properties/launchSettings.json index 9d5e7f9f7..9218385b9 100644 --- a/src/InformaticsGateway/Properties/launchSettings.json +++ b/src/InformaticsGateway/Properties/launchSettings.json @@ -3,7 +3,9 @@ "Monai.Deploy.InformaticsGateway": { "commandName": "Project", "environmentVariables": { - "DOTNET_ENVIRONMENT": "Development" + "DOTNET_ENVIRONMENT": "Development", + "ELASTIC_CLIENT_APIVERSIONING": "true", + "LOGSTASH_URL": "tcp://localhost:50000" } } } diff --git a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs b/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs index 430ee6491..a58f1d083 100644 --- a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs +++ b/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs @@ -54,7 +54,7 @@ public async Task AddAsync(FileStorageMetadata metadata) { Guard.Against.Null(metadata, nameof(metadata)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Correlation ID", metadata.CorrelationId }, { "Identity", metadata.Id } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); await Policy .Handle<Exception>() .WaitAndRetryAsync( @@ -78,7 +78,7 @@ public async Task UpdateAsync(FileStorageMetadata metadata) { Guard.Against.Null(metadata, nameof(metadata)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Correlation ID", metadata.CorrelationId }, { "Identity", metadata.Id } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); await Policy .Handle<Exception>() .WaitAndRetryAsync( diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index e35d937d4..c5dbf5387 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -106,7 +106,7 @@ public async Task Queue(string bucket, FileStorageMetadata file, uint timeout) { Guard.Against.Null(file, nameof(file)); - using var _ = _logger.BeginScope(new LoggingDataDictionary<string, object>() { { "Correlation ID", file.CorrelationId } }); + using var _ = _logger.BeginScope(new LoggingDataDictionary<string, object>() { { "CorrelationId", file.CorrelationId } }); var payload = await CreateOrGetPayload(bucket, file.CorrelationId, timeout).ConfigureAwait(false); payload.Add(file); @@ -134,7 +134,7 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { _logger.BucketElapsedTime(key); var payload = await _payloads[key].Task.ConfigureAwait(false); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Correlation ID", payload.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", payload.CorrelationId } }); if (payload.HasTimedOut) { if (payload.ContainerUploadFailures()) diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs index eaef477cf..c5f2f0a7e 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs @@ -128,7 +128,7 @@ private async Task NotificationHandler(Payload payload) { Guard.Against.Null(payload, nameof(payload)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "Correlation ID", payload.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "CorrelationId", payload.CorrelationId } }); try { @@ -152,7 +152,7 @@ private async Task MoveActionHandler(Payload payload) { Guard.Against.Null(payload, nameof(payload)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "Correlation ID", payload.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "CorrelationId", payload.CorrelationId } }); try { diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index ab15ca480..dc44710bb 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -115,7 +115,7 @@ private async Task HandleInstance(DicomCStoreRequest request, string calledAeTit { var uids = _dicomToolkit.GetStudySeriesSopInstanceUids(request.File); - using (_logger.BeginScope(new LoggingDataDictionary<string, object>() { { "SOPInstanceUID", uids.SopInstanceUid }, { "Correlation ID", associationId } })) + using (_logger.BeginScope(new LoggingDataDictionary<string, object>() { { "SOPInstanceUID", uids.SopInstanceUid }, { "CorrelationId", associationId } })) { _logger.InstanceInformation(uids.StudyInstanceUid, uids.SeriesInstanceUid); diff --git a/src/InformaticsGateway/Services/Scu/ScuService.cs b/src/InformaticsGateway/Services/Scu/ScuService.cs index fcc849434..4ff542c9e 100644 --- a/src/InformaticsGateway/Services/Scu/ScuService.cs +++ b/src/InformaticsGateway/Services/Scu/ScuService.cs @@ -113,7 +113,7 @@ private async Task<ScuWorkResponse> HandleCEchoRequest(ScuWorkRequest request, C try { using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { - { "Correlation ID", request.CorrelationId }, + { "CorrelationId", request.CorrelationId }, { "Remote Host/IP", request.HostIp }, { "Remote Port", request.Port }, { "Remote AE Title", request.AeTitle } diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index ba43f3563..5c49b80aa 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -147,7 +147,7 @@ private async Task ProcessObject(FileStorageMetadata blob) { Guard.Against.Null(blob, nameof(blob)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "File ID", blob.Id }, { "Correlation ID", blob.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "File ID", blob.Id }, { "CorrelationId", blob.CorrelationId } }); var stopwatch = new Stopwatch(); try { diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs index 553c6fcbb..f3b2c1a33 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs @@ -28,6 +28,7 @@ using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.Storage.API; using Moq; +using xRetry; using Xunit; namespace Monai.Deploy.InformaticsGateway.Test.Services.Connectors @@ -69,7 +70,7 @@ public PayloadMoveActionHandlerTest() _options.Value.Storage.StorageServiceBucketName = "bucket"; } - [Fact] + [RetryFact] public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new PayloadMoveActionHandler(null, null, null)); @@ -79,7 +80,7 @@ public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeV _ = new PayloadMoveActionHandler(_serviceScopeFactory.Object, _logger.Object, _options); } - [Fact] + [RetryFact] public async Task GivenAPayloadInIncorrectState_WhenHandlerIsCalled_ExpectExceptionToBeThrown() { var resetEvent = new ManualResetEventSlim(); @@ -143,7 +144,7 @@ public async Task GivenAPayload_WhenHandlerFailedToCopyFiles_ExpectToBePutBackIn Assert.Equal(retryCount + 1, payload.RetryCount); } - [Fact] + [RetryFact] public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToCopyFiles_ExpectPayloadToBeDeleted() { var moveAction = new ActionBlock<Payload>(payload => @@ -174,7 +175,7 @@ public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToC _repository.Verify(p => p.Remove(payload), Times.Once()); } - [Fact] + [RetryFact] public async Task GivenAPayload_WhenAllFilesAreMove_ExpectPayloadToBeAddedToNotificationQueue() { var notifyEvent = new ManualResetEventSlim(); diff --git a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs index 8613f037c..bdaaf3934 100644 --- a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs @@ -98,7 +98,7 @@ public MllpServiceTest() _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); } - [RetryFact()] + [RetryFact(10, 250)] public void GivenAMllpService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new MllpService(null, null)); @@ -107,7 +107,7 @@ public void GivenAMllpService_WhenInitialized_ExpectParametersToBeValidated() new MllpService(_serviceScopeFactory.Object, _options); } - [RetryFact()] + [RetryFact(5, 250)] public void GivenAMllpService_WhenStartAsyncIsCalled_ExpectServiceStartupNormally() { var service = new MllpService(_serviceScopeFactory.Object, _options); @@ -117,7 +117,7 @@ public void GivenAMllpService_WhenStartAsyncIsCalled_ExpectServiceStartupNormall Assert.Equal(ServiceStatus.Running, service.Status); } - [RetryFact()] + [RetryFact(10, 250)] public void GivenAMllpService_WhenStopAsyncIsCalled_ExpectServiceStopsNormally() { _tcpListener.Setup(p => p.Stop()); @@ -167,7 +167,7 @@ public void GivenTcpConnections_WhenConnectsAndDisconnectsFromMllpService_Expect var service = new MllpService(_serviceScopeFactory.Object, _options); _ = service.StartAsync(_cancellationTokenSource.Token); - Assert.True(checkEvent.Wait(2000)); + Assert.True(checkEvent.Wait(3000)); Thread.Sleep(200); Assert.Equal(checkEvent.InitialCount, service.ActiveConnections); @@ -178,7 +178,7 @@ public void GivenTcpConnections_WhenConnectsAndDisconnectsFromMllpService_Expect Assert.Equal(0, service.ActiveConnections); } - [RetryFact] + [RetryFact(10,250)] public void GivenAMllpService_WhenMaximumConnectionLimitIsConfigure_ExpectTheServiceToAbideByTheLimit() { var checkEvent = new CountdownEvent(_options.Value.Hl7.MaximumNumberOfConnections); @@ -211,7 +211,7 @@ public void GivenAMllpService_WhenMaximumConnectionLimitIsConfigure_ExpectTheSer _logger.VerifyLoggingMessageBeginsWith($"Maximum number {_options.Value.Hl7.MaximumNumberOfConnections} of clients reached.", LogLevel.Information, Times.AtLeastOnce()); } - [RetryFact] + [RetryFact(10,250)] public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDisposeResources() { var checkEvent = new ManualResetEventSlim(); @@ -237,7 +237,7 @@ public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDispos var service = new MllpService(_serviceScopeFactory.Object, _options); _ = service.StartAsync(_cancellationTokenSource.Token); - Assert.True(checkEvent.Wait(2000)); + Assert.True(checkEvent.Wait(3000)); await Task.Delay(200).ConfigureAwait(false); Assert.True(service.ActiveConnections > 0); @@ -248,7 +248,7 @@ public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDispos client.Verify(p => p.Dispose(), Times.Exactly(callCount)); } - [RetryFact] + [RetryFact(10,250)] public async Task GivenATcpClientWithHl7Messages_WhenStorageSpaceIsLow_ExpectToDisconnect() { _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); @@ -270,7 +270,7 @@ public async Task GivenATcpClientWithHl7Messages_WhenStorageSpaceIsLow_ExpectToD _payloadAssembler.Verify(p => p.Queue(It.IsAny<string>(), It.IsAny<FileStorageMetadata>()), Times.Never()); } - [RetryFact] + [RetryFact(10, 250)] public async Task GivenATcpClientWithHl7Messages_WhenDisconnected_ExpectMessageToBeQueued() { var checkEvent = new ManualResetEventSlim(); @@ -303,7 +303,7 @@ public async Task GivenATcpClientWithHl7Messages_WhenDisconnected_ExpectMessageT var service = new MllpService(_serviceScopeFactory.Object, _options); _ = service.StartAsync(_cancellationTokenSource.Token); - Assert.True(checkEvent.Wait(2000)); + Assert.True(checkEvent.Wait(3000)); await Task.Delay(500).ConfigureAwait(false); _uploadQueue.Verify(p => p.Queue(It.IsAny<FileStorageMetadata>()), Times.Exactly(3)); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index ab2641705..e9bd20379 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -72,7 +72,7 @@ public ObjectUploadServiceTest() _options.Value.Storage.TemporaryStorageBucket = "bucket"; } - [Fact] + [RetryFact(10,250)] public void GivenAObjectUploadService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new ObjectUploadService(null, null, null)); @@ -81,7 +81,7 @@ public void GivenAObjectUploadService_WhenInitialized_ExpectParametersToBeValida _ = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); } - [Fact] + [RetryFact(10,250)] public void GivenAObjectUploadService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -90,14 +90,14 @@ public void GivenAObjectUploadService_WhenStartAsyncIsCalled_ExpectServiceStatus Assert.Equal(ServiceStatus.Running, svc.Status); } - [Fact] + [RetryFact(10,250)] public void GivenAObjectUploadService_WhenInitialized_ExpectItToRemovingAllPendingObjects() { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); } - [Fact] + [RetryFact(10,250)] public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFilesToBeUploaded() { var countdownEvent = new CountdownEvent(2); @@ -119,7 +119,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Exactly(2)); } - [RetryFact] + [RetryFact(10,250)] public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); diff --git a/src/InformaticsGateway/appsettings.Development.json b/src/InformaticsGateway/appsettings.Development.json index fd647a3b8..5d84172ad 100644 --- a/src/InformaticsGateway/appsettings.Development.json +++ b/src/InformaticsGateway/appsettings.Development.json @@ -35,25 +35,5 @@ "securedConnection": false } } - }, - "Logging": { - "LogLevel": { - "Dicom": "Information", - "Monai": "Debug", - "Microsoft": "Information", - "Microsoft.EntityFrameworkCore": "Warning", - "Microsoft.Hosting.Lifetime": "Information", - "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker": "Information" - }, - "Console": { - "FormatterName": "Simple", - "FormatterOptions": { - "ColorBehavior": "Enabled", - "IncludeScopes": true, - "SingleLine": false, - "TimestampFormat": " HH:mm:ss ", - "UseUtcTimestamp": false - } - } } } \ No newline at end of file diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 9d6626cb9..54229a19d 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -63,50 +63,6 @@ "sendAck": true } }, - "Logging": { - "LogLevel": { - "Default": "Information", - "Dicom": "Information", - "System": "Warning", - "Microsoft": "Warning", - "Microsoft.EntityFrameworkCore": "Warning", - "Microsoft.Hosting.Lifetime": "Warning", - "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker": "Error", - "Monai": "Information" - }, - "Console": { - "FormatterName": "Systemd", - "FormatterOptions": { - "ColorBehavior": "Disabled", - "IncludeScopes": true, - "SingleLine": false, - "TimestampFormat": " HH:mm:ss ", - "UseUtcTimestamp": true - } - } - }, - "Serilog": { - "WriteTo": [ - { - "Name": "File", - "Args": { - "path": "logs/MTM-.log", - "rollingInterval": "Day", - "rollOnFileSizeLimit": true, - "fileSizeLimitBytes": "10485760", - "retainedFileCountLimit": 30, - "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog" - } - }, - { - "Name": "Http", - "Args": { - //"requestUri": "http://192.168.0.62:5000", - "queueLimitBytes": null - } - } - ] - }, "Kestrel": { "EndPoints": { "Http": { @@ -124,4 +80,4 @@ "InformaticsGatewayServerEndpoint": "http://localhost:5000", "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } -} \ No newline at end of file +} diff --git a/src/InformaticsGateway/nlog.config b/src/InformaticsGateway/nlog.config new file mode 100644 index 000000000..33925ea64 --- /dev/null +++ b/src/InformaticsGateway/nlog.config @@ -0,0 +1,86 @@ +<!-- +Copyright 2022 MONAI Consortium + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +<?xml version="1.0" encoding="utf-8" ?> +<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + autoReload="true" + internalLogLevel="Debug" + internalLogFile="${basedir}/logs/internal-nlog.txt"> + + <extensions> + <add assembly="NLog.Web.AspNetCore"/> + <add assembly="NLog.Extensions.Logging"/> + </extensions> + + <variable name="logDir" value="${basedir}/logs/" /> + + <time type="AccurateUTC" /> + + <targets async="true"> + <!-- File Target for all log messages with basic details --> + <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" > + <layout xsi:type="JsonLayout" includeEventProperties="true" includeScopeProperties="true"> + <attribute name="timestamp" layout="${date:format=o}" /> + <attribute name="level" layout="${level:upperCase=true}"/> + <attribute name="logger" layout="${logger}" /> + <attribute name="message" layout="${message:raw=true}" /> + <attribute name="properties" layout="${message:raw=true}" /> + </layout> + </target> + + + <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection --> + <target xsi:type="ColoredConsole" name="lifetimeConsole" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> + + <target name="logstash" xsi:type="Network" address="${environment:LOGSTASH_URL}" newLine="true"> + <layout xsi:type="JsonLayout" includeAllProperties="true" > + <attribute name="Tag" layout="${environment:ENVIRONMENT_NAME}" /> + <attribute name="ServiceName" layout="${servicename}" /> + <attribute name="ServiceVersion" layout="${serviceversion}" /> + <attribute name="MachineName" layout="${machinename}" /> + <attribute name="CorrelationId" layout="${mdlc:item=correlationId}"/> + <attribute name="LoggerName" layout="${logger}"/> + <attribute name="Level" layout="${level:upperCase=true}"/> + <attribute name="Message" layout="${message}"/> + <attribute name="Exception" layout="${onexception:${literal:text=|}"/> + <attribute name="Exception2" layout="${exception:format=tostring}"/> + </layout> + </target> + + </targets> + + <!-- rules to map from logger name to target --> + <rules> + <!--All logs, including from Microsoft--> + <logger name="*" minlevel="Trace" writeTo="allfile" /> + <logger name="*" minlevel="Trace" writeTo="logstash" > + <filters FilterDefaultAction="Log"> + <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> + </filters> + </logger> + + <!--Output hosting lifetime messages to console target for faster startup detection --> + <logger name="Microsoft.EntityFrameworkCore" minlevel="Warn" writeTo="lifetimeConsole" final="true" /> + <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="lifetimeConsole" final="true" /> + <logger name="Monai.*" minlevel="Trace" writeTo="lifetimeConsole" final="true" /> + + <!--Skip non-critical Microsoft logs and so log only own logs (BlackHole) --> + <logger name="Microsoft.*" maxlevel="Info" final="true" /> + <logger name="System.Net.Http.*" maxlevel="Info" final="true" /> + + </rules> +</nlog> From 9068fc7db50c650a436cb7d8274466f478319d12 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 12 Oct 2022 20:40:01 -0700 Subject: [PATCH 059/101] Update RetryFact (#207) Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .../Test/Services/Connectors/PayloadAssemblerTest.cs | 12 ++++++------ .../Connectors/PayloadMoveActionHandlerTest.cs | 8 ++++---- .../Connectors/PayloadNotificationServiceTest.cs | 10 +++++----- .../Test/Services/Fhir/FhirServiceTest.cs | 4 ++-- .../Test/Services/Scu/ScuServiceTest.cs | 12 ++++++------ 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs index cf1baecfc..290906ca3 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs @@ -74,7 +74,7 @@ public void GivenAPayloadAssembler_WhenInitialized_ExpectParametersToBeValidated Assert.Throws<ArgumentNullException>(() => new PayloadAssembler(_options, _logger.Object, null)); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeout_ExpectDefaultTimeoutToBeUsed() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); @@ -88,7 +88,7 @@ public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeou _cancellationTokenSource.Cancel(); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectPayloadsInCreatedStateToBeRemoved() { var dataset = new List<Payload> @@ -110,7 +110,7 @@ public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectP _repository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.Exactly(2)); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayloadAssembler_WhenDisposed_ExpectResourceToBeCleanedUp() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); @@ -126,7 +126,7 @@ public async Task GivenAPayloadAssembler_WhenDisposed_ExpectResourceToBeCleanedU _logger.VerifyLoggingMessageBeginsWith($"Number of collections in queue", LogLevel.Trace, Times.Never()); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectToRetryXTimes() { int callCount = 0; @@ -152,7 +152,7 @@ public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectT _logger.VerifyLoggingMessageBeginsWith($"Number of buckets active: 1.", LogLevel.Trace, Times.AtLeastOnce()); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEvent_ExpectToBeAddedToQueue() { _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())).Callback(() => @@ -171,7 +171,7 @@ public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEve _logger.VerifyLoggingMessageBeginsWith($"Bucket A sent to processing queue", LogLevel.Information, Times.Never()); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayloadThatHasCompletedUploads_WhenProcessedByTimedEvent_ExpectToBeAddedToQueue() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs index f3b2c1a33..1c8434245 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs @@ -70,7 +70,7 @@ public PayloadMoveActionHandlerTest() _options.Value.Storage.StorageServiceBucketName = "bucket"; } - [RetryFact] + [RetryFact(10,200)] public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new PayloadMoveActionHandler(null, null, null)); @@ -80,7 +80,7 @@ public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeV _ = new PayloadMoveActionHandler(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayloadInIncorrectState_WhenHandlerIsCalled_ExpectExceptionToBeThrown() { var resetEvent = new ManualResetEventSlim(); @@ -144,7 +144,7 @@ public async Task GivenAPayload_WhenHandlerFailedToCopyFiles_ExpectToBePutBackIn Assert.Equal(retryCount + 1, payload.RetryCount); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToCopyFiles_ExpectPayloadToBeDeleted() { var moveAction = new ActionBlock<Payload>(payload => @@ -175,7 +175,7 @@ public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToC _repository.Verify(p => p.Remove(payload), Times.Once()); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAPayload_WhenAllFilesAreMove_ExpectPayloadToBeAddedToNotificationQueue() { var notifyEvent = new ManualResetEventSlim(); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs index 21cc120ab..a67307b17 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs @@ -85,7 +85,7 @@ public PayloadNotificationServiceTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); } - [RetryFact] + [RetryFact(10,200)] public void GivenAPayloadNotificationService_AtInitialization_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new PayloadNotificationService(null, null, null)); @@ -93,7 +93,7 @@ public void GivenAPayloadNotificationService_AtInitialization_ExpectParametersTo Assert.Throws<ArgumentNullException>(() => new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, null)); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_ExpectServiceToStopAnyProcessing() { var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Move }; @@ -116,7 +116,7 @@ public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_Expec _logger.VerifyLogging($"Uploading payload {payload.Id} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Never()); } - [RetryFact] + [RetryFact(10,200)] public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloadsToBeRestored() { var testData = new List<Payload> @@ -139,7 +139,7 @@ public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloads _payloadNotificationActionHandler.Verify(p => p.NotifyAsync(It.IsAny<Payload>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<CancellationToken>()), Times.AtLeastOnce()); } - [RetryFact] + [RetryFact(10,200)] public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTheMoveActionHandler() { var resetEvent = new ManualResetEventSlim(); @@ -157,7 +157,7 @@ public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTh resetEvent.Wait(); } - [RetryFact] + [RetryFact(10,200)] public void GivenAPayload_WhenDequedFromPayloadAssembler_ExpectThePayloadBeProcessedByTheMoveActionHandler() { var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Move }; diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index 95d61d121..c4ccb736d 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -85,7 +85,7 @@ public FhirServiceTest() _options.Value.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Memory; } - [RetryFact] + [RetryFact(10,200)] public void GivenAFhirService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new FhirService(null, null)); @@ -94,7 +94,7 @@ public void GivenAFhirService_WhenInitialized_ExpectParametersToBeValidated() new FhirService(_serviceScopeFactory.Object, _options); } - [RetryFact] + [RetryFact(10,200)] public async Task StoreAsync_WhenCalled_ShallValidateParametersAsync() { var correlationId = Guid.NewGuid().ToString(); diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs index 11b563b01..13444945c 100644 --- a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -71,7 +71,7 @@ public ScuServiceTest(DicomScpFixture dicomScp) _dicomScp.Start(_port); } - [RetryFact] + [RetryFact(10,200)] public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new ScuService(null, null, null)); @@ -80,7 +80,7 @@ public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() _ = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact] + [RetryFact(10,200)] public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -89,7 +89,7 @@ public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() Assert.Equal(ServiceStatus.Running, svc.Status); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -106,7 +106,7 @@ public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess Assert.Empty(response.Message); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -123,7 +123,7 @@ public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejecte Assert.StartsWith("Association rejected", response.Message); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -140,7 +140,7 @@ public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted( Assert.StartsWith("Association Abort", response.Message); } - [RetryFact] + [RetryFact(10,200)] public async Task GivenACEchoRequest_WhenRemoteServerIsUnreachable_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); From c1e036a82627018b90a73557c126090e539a4a7c Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 13 Oct 2022 12:54:21 -0700 Subject: [PATCH 060/101] Include scope properties (#210) Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/InformaticsGateway/Program.cs | 2 +- src/InformaticsGateway/nlog.config | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 67e055999..f1212ad8e 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -189,7 +189,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => private static NLog.Logger ConfigureNLog(string assemblyVersionNumber) { - LayoutRenderer.Register("servicename", logEvent => Assembly.GetEntryAssembly()?.GetName().Name); + LayoutRenderer.Register("servicename", logEvent => typeof(Program).Namespace); LayoutRenderer.Register("serviceversion", logEvent => assemblyVersionNumber); LayoutRenderer.Register("machinename", logEvent => Environment.MachineName); diff --git a/src/InformaticsGateway/nlog.config b/src/InformaticsGateway/nlog.config index 33925ea64..7bd771f7e 100644 --- a/src/InformaticsGateway/nlog.config +++ b/src/InformaticsGateway/nlog.config @@ -1,4 +1,6 @@ -<!-- +<?xml version="1.0" encoding="utf-8" ?> + +<!-- Copyright 2022 MONAI Consortium Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,7 +16,6 @@ See the License for the specific language governing permissions and limitations under the License. --> -<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" @@ -47,7 +48,7 @@ limitations under the License. <target xsi:type="ColoredConsole" name="lifetimeConsole" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> <target name="logstash" xsi:type="Network" address="${environment:LOGSTASH_URL}" newLine="true"> - <layout xsi:type="JsonLayout" includeAllProperties="true" > + <layout xsi:type="JsonLayout" IncludeEventProperties="true" IncludeScopeProperties="true"> <attribute name="Tag" layout="${environment:ENVIRONMENT_NAME}" /> <attribute name="ServiceName" layout="${servicename}" /> <attribute name="ServiceVersion" layout="${serviceversion}" /> From ba5d1fabac8b2e433153e277b55a20308551c3d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:03:39 -0700 Subject: [PATCH 061/101] Bump actions/cache from 3.0.10 to 3.0.11 (#211) Bumps [actions/cache](https://github.com/actions/cache) from 3.0.10 to 3.0.11. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.10...v3.0.11) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f5a8c5d8..8d48174c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,7 +90,7 @@ jobs: cache: yes - name: Enable NuGet cache - uses: actions/cache@v3.0.10 + uses: actions/cache@v3.0.11 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -146,7 +146,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.10 + uses: actions/cache@v3.0.11 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -224,7 +224,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.10 + uses: actions/cache@v3.0.11 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -289,7 +289,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.10 + uses: actions/cache@v3.0.11 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} @@ -402,7 +402,7 @@ jobs: dotnet-version: "6.0.x" - name: Enable NuGet cache - uses: actions/cache@v3.0.10 + uses: actions/cache@v3.0.11 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} From 3e69d3d2c1566feb5694fa2018b8ec7532b03117 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:03:57 -0700 Subject: [PATCH 062/101] Bump gittools/actions from 0.9.13 to 0.9.14 (#212) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.13 to 0.9.14. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.13...v0.9.14) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d48174c7..78ca14550 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.13 + uses: gittools/actions/gitversion/execute@v0.9.14 with: useConfigFile: true configFilePath: .github/.gitversion.yml @@ -473,12 +473,12 @@ jobs: msg: ${{ github.repository }} - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v0.9.13 + uses: gittools/actions/gitreleasemanager/setup@v0.9.14 with: versionSpec: "0.13.x" - name: Create release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/create@v0.9.13 + uses: gittools/actions/gitreleasemanager/create@v0.9.14 with: token: ${{ secrets.GITHUB_TOKEN }} owner: ${{ steps.repo.outputs._0 }} @@ -491,7 +491,7 @@ jobs: artifacts/mig-docs-${{ env.SEMVER }}.zip - name: Publish release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/publish@v0.9.13 + uses: gittools/actions/gitreleasemanager/publish@v0.9.14 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} @@ -500,7 +500,7 @@ jobs: tagName: ${{ env.MAJORMINORPATCH }} - name: Close release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/close@v0.9.13 + uses: gittools/actions/gitreleasemanager/close@v0.9.14 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} From e70560ae2d598a89d8769ea65ebb4dd8d1247abf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:04:26 -0700 Subject: [PATCH 063/101] Bump docker/metadata-action from 4.0.1 to 4.1.0 (#213) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4.0.1 to 4.1.0. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/v4.0.1...v4.1.0) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78ca14550..3dd846d88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -341,7 +341,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4.0.1 + uses: docker/metadata-action@v4.1.0 if: ${{ (matrix.os == 'ubuntu-latest') }} with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} From f4dd05713b6f97d3ec2de7f93da7ffacb2fd8f7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:04:49 -0700 Subject: [PATCH 064/101] Bump docker/build-push-action from 3.1.1 to 3.2.0 (#217) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.1.1 to 3.2.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v3.1.1...v3.2.0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3dd846d88..1127e91de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -350,7 +350,7 @@ jobs: type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }} - name: Build and push Docker image - uses: docker/build-push-action@v3.1.1 + uses: docker/build-push-action@v3.2.0 if: ${{ (matrix.os == 'ubuntu-latest') }} with: context: . From 7be0e9c20560bffe47f5684a2754008663e3d561 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 09:05:08 -0700 Subject: [PATCH 065/101] Bump docker/login-action from 2.0.0 to 2.1.0 (#215) Bumps [docker/login-action](https://github.com/docker/login-action) from 2.0.0 to 2.1.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2.0.0...v2.1.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1127e91de..5d598fbf7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -332,7 +332,7 @@ jobs: retention-days: 7 - name: Log in to the Container registry - uses: docker/login-action@v2.0.0 + uses: docker/login-action@v2.1.0 if: ${{ (matrix.os == 'ubuntu-latest') }} with: registry: ${{ env.REGISTRY }} From 8b3fdfc30cd59a972950fabc360d5ba56b4b6541 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 12:58:11 -0700 Subject: [PATCH 066/101] Bump actions/upload-artifact from 3.1.0 to 3.1.1 (#223) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.0 to 3.1.1. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3.1.0...v3.1.1) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d598fbf7..341fef8f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -246,7 +246,7 @@ jobs: popd - name: Upload Integration Test Results - uses: actions/upload-artifact@v3.1.0 + uses: actions/upload-artifact@v3.1.1 if: always() with: name: integration-${{ matrix.feature }} @@ -325,7 +325,7 @@ jobs: dir -r ~/release - name: Upload CLI - uses: actions/upload-artifact@v3.1.0 + uses: actions/upload-artifact@v3.1.1 with: name: artifacts path: ~/release @@ -439,7 +439,7 @@ jobs: Get-ChildItem ~\release -Recurse - name: Upload docs - uses: actions/upload-artifact@v3.1.0 + uses: actions/upload-artifact@v3.1.1 with: name: artifacts path: ~/release From 73ffe1d83dc94eb822bf8eaa229d09bb50b4e326 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 12:58:32 -0700 Subject: [PATCH 067/101] Bump docker/metadata-action from 4.1.0 to 4.1.1 (#222) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 341fef8f8..e9e8e2a32 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -341,7 +341,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4.1.0 + uses: docker/metadata-action@v4.1.1 if: ${{ (matrix.os == 'ubuntu-latest') }} with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} From 90ea617ae7607d2a4750de181e9b6c79afd17480 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 27 Oct 2022 08:00:44 -0700 Subject: [PATCH 068/101] Update storage lib to enable bucket creation on startup (#224) * gh-221 Update storage lib to enable bucket creation on startup * Update changelog and setup instructions * Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 55 +- docs/changelog.md | 9 + docs/compliance/third-party-licenses.md | 10139 ++++++++-------- docs/setup/setup.md | 30 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 4 +- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 4 +- ....Deploy.InformaticsGateway.Database.csproj | 6 +- .../Monai.Deploy.InformaticsGateway.csproj | 12 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 2 +- src/InformaticsGateway/appsettings.json | 3 +- ...InformaticsGateway.Integration.Test.csproj | 10 +- 12 files changed, 4918 insertions(+), 5358 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 869872677..7accc96a5 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -4,7 +4,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.13.8 + - 3.7.100.1 :when: 2022-09-01 23:05:22.203089302 Z - - :approve - AWSSDK.S3 @@ -18,7 +18,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.1.203 + - 3.7.100.1 :when: 2022-09-01 23:05:28.920368903 Z - - :approve - BoDi @@ -53,7 +53,7 @@ - :who: mocsharp :why: MIT (https://github.com/riezebosch/crayon/raw/master/LICENSE) :versions: - - 2.0.64 + - 2.0.69 :when: 2022-08-16 23:05:31.541983092 Z - - :approve - Crc32.NET @@ -74,23 +74,21 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.1 - - 4.7.2 + - 4.7.3 :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.1 - - 4.7.2 + - 4.7.3 :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions - :who: mocsharp :why: Apache-2.0 (https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) :versions: - - 6.7.0 + - 6.8.0 :when: 2022-08-16 23:05:33.753437127 Z - - :approve - Gherkin @@ -330,70 +328,63 @@ - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:49.698463427 Z - - :approve - Microsoft.EntityFrameworkCore - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:50.137694970 Z - - :approve - Microsoft.EntityFrameworkCore.Abstractions - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:51.008105271 Z - - :approve - Microsoft.EntityFrameworkCore.Analyzers - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:51.445711308 Z - - :approve - Microsoft.EntityFrameworkCore.Design - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:51.922790944 Z - - :approve - Microsoft.EntityFrameworkCore.InMemory - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:52.375150938 Z - - :approve - Microsoft.EntityFrameworkCore.Relational - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:52.828879230 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:53.270526921 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite.Core - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-16 23:05:53.706997823 Z - - :approve - Microsoft.Extensions.ApiDescription.Server @@ -506,6 +497,7 @@ :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 6.0.0 + - 6.0.1 :when: 2022-08-16 23:06:00.904189459 Z - - :approve - Microsoft.Extensions.DependencyInjection.Abstractions @@ -533,24 +525,21 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - :who: mocsharp :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - :who: mocsharp :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - - 6.0.8 - - 6.0.9 + - 6.0.10 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.FileProviders.Abstractions @@ -822,21 +811,21 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.7 + - 0.2.8 :when: 2022-08-16 23:06:21.988183476 Z - - :approve - Monai.Deploy.Storage.MinIO - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.7 + - 0.2.8 :when: 2022-08-16 23:06:22.426838304 Z - - :approve - Monai.Deploy.Storage.S3Policy - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.7 + - 0.2.8 :when: 2022-08-16 23:06:22.881956546 Z - - :approve - Moq diff --git a/docs/changelog.md b/docs/changelog.md index 265c30b22..142a0bd02 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -17,6 +17,15 @@ # Changelog + +## 0.3.3 + +[GitHub Milestone 0.3.2](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/9) + +- Ability to create storage buckets on startup +- Include logging scope values for LogStash + + ## 0.3.2 [GitHub Milestone 0.3.2](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/8) diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index dac81fbf3..894029ba8 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -60,15 +60,15 @@ SOFTWARE. <details> -<summary>AWSSDK.Core 3.7.13.8</summary> +<summary>AWSSDK.Core 3.7.100.1</summary> ## AWSSDK.Core -- Version: 3.7.13.8 +- Version: 3.7.100.1 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.13.8) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.100.1) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -107,11 +107,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -180,11 +180,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -206,15 +206,15 @@ END OF TERMS AND CONDITIONS <details> -<summary>AWSSDK.SecurityToken 3.7.1.203</summary> +<summary>AWSSDK.SecurityToken 3.7.100.1</summary> ## AWSSDK.SecurityToken -- Version: 3.7.1.203 +- Version: 3.7.100.1 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.203) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.100.1) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -253,11 +253,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -628,13 +628,13 @@ SOFTWARE. <details> -<summary>Crayon 2.0.64</summary> +<summary>Crayon 2.0.69</summary> ## Crayon -- Version: 2.0.64 +- Version: 2.0.69 - Authors: Manuel Riezebosch -- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.64) +- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.69) - License: [MIT](https://github.com/riezebosch/crayon/raw/master/LICENSE) @@ -746,14 +746,14 @@ SOFTWARE. <details> -<summary>DotNext 4.7.1</summary> +<summary>DotNext 4.7.3</summary> ## DotNext -- Version: 4.7.1 +- Version: 4.7.3 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.1) +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.3) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -785,53 +785,14 @@ SOFTWARE. <details> -<summary>DotNext 4.7.2</summary> - -## DotNext - -- Version: 4.7.2 -- Authors: .NET Foundation and Contributors -- Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.2) -- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) - - -``` -MIT License - -Copyright © .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>DotNext.Threading 4.7.1</summary> +<summary>DotNext.Threading 4.7.3</summary> ## DotNext.Threading -- Version: 4.7.1 +- Version: 4.7.3 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.1) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.3) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -863,53 +824,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.2</summary> - -## DotNext.Threading - -- Version: 4.7.2 -- Authors: .NET Foundation and Contributors -- Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.2) -- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) - - -``` -MIT License - -Copyright © .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>FluentAssertions 6.7.0</summary> +<summary>FluentAssertions 6.8.0</summary> ## FluentAssertions -- Version: 6.7.0 +- Version: 6.8.0 - Authors: Dennis Doomen,Jonas Nyrup - Project URL: https://www.fluentassertions.com/ -- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.7.0) +- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.8.0) - License: [Apache-2.0](https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) @@ -1427,7 +1349,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -1441,36 +1363,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -1479,11 +1401,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -1493,7 +1415,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -1502,22 +1424,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -1526,10 +1448,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -1537,7 +1459,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -1558,10 +1480,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -1572,11 +1494,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -2524,7 +2446,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -2538,36 +2460,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -2576,11 +2498,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -2590,7 +2512,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -2599,22 +2521,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -2623,10 +2545,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -2634,7 +2556,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2655,10 +2577,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2669,11 +2591,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -2724,7 +2646,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -2738,36 +2660,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -2776,11 +2698,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -2790,7 +2712,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -2799,22 +2721,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -2823,10 +2745,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -2834,7 +2756,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2855,10 +2777,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2869,11 +2791,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -3052,14 +2974,14 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.8</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.10</summary> ## Microsoft.Data.Sqlite.Core -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3093,14 +3015,14 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.10</summary> -## Microsoft.Data.Sqlite.Core +## Microsoft.EntityFrameworkCore -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.9) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3134,14 +3056,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.10</summary> -## Microsoft.EntityFrameworkCore +## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3175,14 +3097,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.10</summary> -## Microsoft.EntityFrameworkCore +## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3216,14 +3138,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.10</summary> -## Microsoft.EntityFrameworkCore.Abstractions +## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3257,14 +3179,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.10</summary> -## Microsoft.EntityFrameworkCore.Abstractions +## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3298,14 +3220,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.10</summary> -## Microsoft.EntityFrameworkCore.Analyzers +## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3339,14 +3261,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.10</summary> -## Microsoft.EntityFrameworkCore.Analyzers +## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3380,14 +3302,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.10</summary> -## Microsoft.EntityFrameworkCore.Design +## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3421,15 +3343,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.9</summary> +<summary>Microsoft.Extensions.ApiDescription.Server 6.0.5</summary> -## Microsoft.EntityFrameworkCore.InMemory +## Microsoft.Extensions.ApiDescription.Server -- Version: 6.0.9 +- Version: 6.0.5 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/6.0.5) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -3462,15 +3384,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.8</summary> +<summary>Microsoft.Extensions.Caching.Abstractions 6.0.0</summary> -## Microsoft.EntityFrameworkCore.Relational +## Microsoft.Extensions.Caching.Abstractions -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.8) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Abstractions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3503,15 +3425,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.9</summary> +<summary>Microsoft.Extensions.Caching.Memory 6.0.1</summary> -## Microsoft.EntityFrameworkCore.Relational +## Microsoft.Extensions.Caching.Memory -- Version: 6.0.9 +- Version: 6.0.1 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/6.0.1) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3544,15 +3466,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.8</summary> +<summary>Microsoft.Extensions.Configuration 6.0.0</summary> -## Microsoft.EntityFrameworkCore.Sqlite +## Microsoft.Extensions.Configuration -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.8) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3585,15 +3507,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.9</summary> +<summary>Microsoft.Extensions.Configuration 6.0.1</summary> -## Microsoft.EntityFrameworkCore.Sqlite +## Microsoft.Extensions.Configuration -- Version: 6.0.9 +- Version: 6.0.1 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.1) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3626,15 +3548,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.8</summary> +<summary>Microsoft.Extensions.Configuration.Abstractions 6.0.0</summary> -## Microsoft.EntityFrameworkCore.Sqlite.Core +## Microsoft.Extensions.Configuration.Abstractions -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.8) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Abstractions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3667,15 +3589,15 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.9</summary> +<summary>Microsoft.Extensions.Configuration.Binder 6.0.0</summary> -## Microsoft.EntityFrameworkCore.Sqlite.Core +## Microsoft.Extensions.Configuration.Binder -- Version: 6.0.9 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3708,15 +3630,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.ApiDescription.Server 6.0.5</summary> +<summary>Microsoft.Extensions.Configuration.CommandLine 6.0.0</summary> -## Microsoft.Extensions.ApiDescription.Server +## Microsoft.Extensions.Configuration.CommandLine -- Version: 6.0.5 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/6.0.5) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -3749,14 +3671,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Caching.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.0</summary> -## Microsoft.Extensions.Caching.Abstractions +## Microsoft.Extensions.Configuration.EnvironmentVariables - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Abstractions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3790,14 +3712,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Caching.Memory 6.0.1</summary> +<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1</summary> -## Microsoft.Extensions.Caching.Memory +## Microsoft.Extensions.Configuration.EnvironmentVariables - Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3831,14 +3753,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.FileExtensions 6.0.0</summary> -## Microsoft.Extensions.Configuration +## Microsoft.Extensions.Configuration.FileExtensions - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3872,14 +3794,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration 6.0.1</summary> +<summary>Microsoft.Extensions.Configuration.Json 6.0.0</summary> -## Microsoft.Extensions.Configuration +## Microsoft.Extensions.Configuration.Json -- Version: 6.0.1 +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3913,14 +3835,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.0</summary> -## Microsoft.Extensions.Configuration.Abstractions +## Microsoft.Extensions.Configuration.UserSecrets - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Abstractions/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3954,14 +3876,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.Binder 6.0.0</summary> +<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.1</summary> -## Microsoft.Extensions.Configuration.Binder +## Microsoft.Extensions.Configuration.UserSecrets -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -3995,55 +3917,47 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.CommandLine 6.0.0</summary> +<summary>Microsoft.Extensions.DependencyInjection 2.2.0</summary> -## Microsoft.Extensions.Configuration.CommandLine +## Microsoft.Extensions.DependencyInjection -- Version: 6.0.0 +- Version: 2.2.0 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) ``` -The MIT License (MIT) - Copyright (c) .NET Foundation and Contributors All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. ``` </details> <details> -<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.0</summary> +<summary>Microsoft.Extensions.DependencyInjection 6.0.0</summary> -## Microsoft.Extensions.Configuration.EnvironmentVariables +## Microsoft.Extensions.DependencyInjection - Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4077,252 +3991,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1</summary> +<summary>Microsoft.Extensions.DependencyInjection 6.0.1</summary> -## Microsoft.Extensions.Configuration.EnvironmentVariables +## Microsoft.Extensions.DependencyInjection - Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables/6.0.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Configuration.FileExtensions 6.0.0</summary> - -## Microsoft.Extensions.Configuration.FileExtensions - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Configuration.Json 6.0.0</summary> - -## Microsoft.Extensions.Configuration.Json - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.0</summary> - -## Microsoft.Extensions.Configuration.UserSecrets - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Configuration.UserSecrets 6.0.1</summary> - -## Microsoft.Extensions.Configuration.UserSecrets - -- Version: 6.0.1 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets/6.0.1) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyInjection 2.2.0</summary> - -## Microsoft.Extensions.DependencyInjection - -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) - - -``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyInjection 6.0.0</summary> - -## Microsoft.Extensions.DependencyInjection - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4471,14 +4147,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.10</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4512,96 +4188,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.9</summary> - -## Microsoft.Extensions.Diagnostics.HealthChecks - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.9) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> - -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - -- Version: 6.0.8 -- Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.10</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4635,55 +4229,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.10</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> - -## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5661,7 +5214,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -5675,36 +5228,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -5713,11 +5266,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -5727,7 +5280,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -5736,22 +5289,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -5760,10 +5313,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -5771,7 +5324,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5792,10 +5345,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5806,11 +5359,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -5903,7 +5456,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -5917,36 +5470,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -5955,11 +5508,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -5969,7 +5522,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -5978,22 +5531,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6002,10 +5555,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -6013,7 +5566,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6034,10 +5587,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6048,11 +5601,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -6103,7 +5656,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -6117,36 +5670,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -6155,11 +5708,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -6169,7 +5722,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -6178,22 +5731,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6202,10 +5755,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -6213,7 +5766,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6234,10 +5787,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6248,11 +5801,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -6665,7 +6218,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -6679,36 +6232,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -6717,11 +6270,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -6731,7 +6284,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -6740,22 +6293,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6764,10 +6317,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -6775,7 +6328,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6796,10 +6349,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6810,11 +6363,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -7773,14 +7326,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage 0.2.7</summary> +<summary>Monai.Deploy.Storage 0.2.8</summary> ## Monai.Deploy.Storage -- Version: 0.2.7 +- Version: 0.2.8 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.8) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8001,14 +7554,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.7</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.8</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.7 +- Version: 0.2.8 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.8) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8229,14 +7782,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.7</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.8</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.7 +- Version: 0.2.8 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.8) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8579,7 +8132,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -8593,36 +8146,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -8631,11 +8184,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -8645,7 +8198,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -8654,22 +8207,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -8678,10 +8231,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -8689,7 +8242,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -8710,10 +8263,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -8724,11 +8277,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -8807,31 +8360,31 @@ Copyright (c) 2004-2021 Jaroslaw Kowalski , Kim Christensen, Julian Verdurmen All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + and/or other materials provided with the distribution. -* Neither the name of Jaroslaw Kowalski nor the names of its +* Neither the name of Jaroslaw Kowalski nor the names of its contributors may be used to endorse or promote products derived from this - software without specific prior written permission. + software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ``` @@ -9404,7 +8957,7 @@ Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bounc The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +   @@ -10962,7 +10515,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -10976,36 +10529,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -11014,11 +10567,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11028,7 +10581,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -11037,22 +10590,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11061,10 +10614,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -11072,7 +10625,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11093,10 +10646,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11107,11 +10660,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11162,7 +10715,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11176,36 +10729,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -11214,11 +10767,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11228,7 +10781,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -11237,22 +10790,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11261,10 +10814,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -11272,7 +10825,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11293,10 +10846,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11307,11 +10860,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11404,7 +10957,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11418,36 +10971,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -11456,11 +11009,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11470,7 +11023,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -11479,22 +11032,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11503,10 +11056,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -11514,7 +11067,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11535,10 +11088,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11549,11 +11102,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11604,7 +11157,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11618,36 +11171,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -11656,11 +11209,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11670,7 +11223,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -11679,22 +11232,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11703,10 +11256,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -11714,7 +11267,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11735,10 +11288,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11749,11 +11302,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11845,7 +11398,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11859,36 +11412,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -11897,11 +11450,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11911,7 +11464,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -11920,22 +11473,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11944,10 +11497,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -11955,7 +11508,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11976,10 +11529,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11990,11 +11543,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12045,7 +11598,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12059,36 +11612,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -12097,11 +11650,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12111,7 +11664,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -12120,22 +11673,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12144,10 +11697,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -12155,7 +11708,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12176,10 +11729,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12190,11 +11743,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12409,7 +11962,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12423,36 +11976,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -12461,11 +12014,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12475,7 +12028,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -12484,22 +12037,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12508,10 +12061,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -12519,7 +12072,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12540,10 +12093,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12554,11 +12107,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12693,7 +12246,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12707,36 +12260,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -12745,11 +12298,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12759,7 +12312,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -12768,22 +12321,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12792,10 +12345,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -12803,7 +12356,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12824,10 +12377,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12838,11 +12391,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12893,7 +12446,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12907,36 +12460,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -12945,11 +12498,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12959,7 +12512,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -12968,22 +12521,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12992,10 +12545,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -13003,7 +12556,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13024,10 +12577,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13038,11 +12591,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13135,7 +12688,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13149,36 +12702,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -13187,11 +12740,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13201,7 +12754,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -13210,22 +12763,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13234,10 +12787,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -13245,7 +12798,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13266,10 +12819,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13280,11 +12833,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13335,7 +12888,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13349,36 +12902,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -13387,11 +12940,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13401,7 +12954,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -13410,22 +12963,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13434,10 +12987,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -13445,7 +12998,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13466,10 +13019,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13480,11 +13033,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13535,7 +13088,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13549,36 +13102,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -13587,11 +13140,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13601,7 +13154,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -13610,22 +13163,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13634,10 +13187,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -13645,7 +13198,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13666,10 +13219,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13680,11 +13233,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13817,7 +13370,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13831,36 +13384,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -13869,11 +13422,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13883,7 +13436,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -13892,22 +13445,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13916,10 +13469,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -13927,7 +13480,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13948,10 +13501,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13962,11 +13515,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14017,7 +13570,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14031,36 +13584,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -14069,11 +13622,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14083,7 +13636,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -14092,22 +13645,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14116,10 +13669,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -14127,7 +13680,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14148,10 +13701,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14162,11 +13715,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14259,7 +13812,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14273,36 +13826,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -14311,11 +13864,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14325,7 +13878,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -14334,22 +13887,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14358,10 +13911,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -14369,7 +13922,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14390,10 +13943,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14404,11 +13957,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14459,7 +14012,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14473,36 +14026,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -14511,11 +14064,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14525,7 +14078,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -14534,22 +14087,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14558,10 +14111,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -14569,7 +14122,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14590,10 +14143,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14604,11 +14157,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14659,7 +14212,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14673,36 +14226,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -14711,11 +14264,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14725,7 +14278,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -14734,22 +14287,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14758,10 +14311,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -14769,7 +14322,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14790,10 +14343,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14804,11 +14357,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14859,7 +14412,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14873,36 +14426,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -14911,11 +14464,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14925,7 +14478,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -14934,22 +14487,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14958,10 +14511,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -14969,7 +14522,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14990,10 +14543,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15004,11 +14557,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15059,7 +14612,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15073,36 +14626,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -15111,11 +14664,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15125,7 +14678,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -15134,22 +14687,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15158,10 +14711,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -15169,7 +14722,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15190,10 +14743,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15204,11 +14757,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15259,7 +14812,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15273,36 +14826,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -15311,11 +14864,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15325,7 +14878,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -15334,22 +14887,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15358,10 +14911,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -15369,7 +14922,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15390,10 +14943,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15404,11 +14957,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15623,7 +15176,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15637,36 +15190,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -15675,11 +15228,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15689,7 +15242,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -15698,22 +15251,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15722,10 +15275,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -15733,7 +15286,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15754,10 +15307,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15768,11 +15321,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15823,7 +15376,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15837,36 +15390,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -15875,11 +15428,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15889,7 +15442,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -15898,22 +15451,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15922,10 +15475,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -15933,7 +15486,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15954,10 +15507,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15968,11 +15521,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16023,7 +15576,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16037,36 +15590,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -16075,11 +15628,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16089,7 +15642,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -16098,22 +15651,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16122,10 +15675,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -16133,7 +15686,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16154,10 +15707,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16168,11 +15721,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16223,7 +15776,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16237,36 +15790,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -16275,11 +15828,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16289,7 +15842,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -16298,22 +15851,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16322,10 +15875,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -16333,7 +15886,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16354,10 +15907,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16368,11 +15921,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16423,7 +15976,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16437,36 +15990,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -16475,11 +16028,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16489,7 +16042,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -16498,22 +16051,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16522,10 +16075,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -16533,7 +16086,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16554,10 +16107,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16568,11 +16121,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16664,7 +16217,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16678,36 +16231,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -16716,11 +16269,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16730,7 +16283,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -16739,22 +16292,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16763,10 +16316,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -16774,7 +16327,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16795,10 +16348,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16809,11 +16362,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16948,7 +16501,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16962,36 +16515,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -17000,11 +16553,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17014,7 +16567,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -17023,22 +16576,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17047,10 +16600,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -17058,7 +16611,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17079,10 +16632,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17093,11 +16646,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17148,7 +16701,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17162,36 +16715,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -17200,11 +16753,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17214,7 +16767,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -17223,22 +16776,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17247,10 +16800,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -17258,7 +16811,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17279,10 +16832,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17293,11 +16846,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17348,7 +16901,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17362,36 +16915,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -17400,11 +16953,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17414,7 +16967,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -17423,22 +16976,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17447,10 +17000,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -17458,7 +17011,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17479,10 +17032,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17493,11 +17046,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17548,7 +17101,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17562,36 +17115,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -17600,11 +17153,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17614,7 +17167,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -17623,22 +17176,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17647,10 +17200,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -17658,7 +17211,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17679,10 +17232,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17693,11 +17246,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17748,7 +17301,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17762,36 +17315,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -17800,11 +17353,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17814,7 +17367,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -17823,22 +17376,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17847,10 +17400,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -17858,7 +17411,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17879,10 +17432,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17893,11 +17446,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17948,7 +17501,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17962,36 +17515,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -18000,11 +17553,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18014,7 +17567,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -18023,22 +17576,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18047,10 +17600,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -18058,7 +17611,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18079,10 +17632,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18093,11 +17646,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18148,7 +17701,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18162,36 +17715,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -18200,11 +17753,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18214,7 +17767,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -18223,22 +17776,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18247,10 +17800,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -18258,7 +17811,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18279,10 +17832,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18293,11 +17846,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18348,7 +17901,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18362,36 +17915,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -18400,11 +17953,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18414,7 +17967,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -18423,22 +17976,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18447,10 +18000,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -18458,7 +18011,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18479,10 +18032,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18493,11 +18046,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18630,7 +18183,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18644,36 +18197,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -18682,11 +18235,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18696,7 +18249,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -18705,22 +18258,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18729,10 +18282,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -18740,7 +18293,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18761,10 +18314,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18775,11 +18328,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18830,7 +18383,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18844,36 +18397,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -18882,11 +18435,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18896,7 +18449,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -18905,22 +18458,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18929,10 +18482,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -18940,7 +18493,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18961,10 +18514,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18975,11 +18528,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19030,7 +18583,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19044,36 +18597,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -19082,11 +18635,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19096,7 +18649,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -19105,22 +18658,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19129,10 +18682,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -19140,7 +18693,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19161,10 +18714,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19175,11 +18728,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19230,7 +18783,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19244,36 +18797,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -19282,11 +18835,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19296,7 +18849,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -19305,22 +18858,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19329,10 +18882,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -19340,7 +18893,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19361,10 +18914,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19375,11 +18928,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19430,7 +18983,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19444,36 +18997,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -19482,11 +19035,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19496,7 +19049,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -19505,22 +19058,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19529,10 +19082,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -19540,7 +19093,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19561,10 +19114,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19575,11 +19128,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19672,7 +19225,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19686,36 +19239,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -19724,11 +19277,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19738,7 +19291,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -19747,22 +19300,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19771,10 +19324,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -19782,7 +19335,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19803,10 +19356,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19817,11 +19370,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19872,7 +19425,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19886,36 +19439,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -19924,11 +19477,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19938,7 +19491,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -19947,22 +19500,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19971,10 +19524,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -19982,7 +19535,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20003,10 +19556,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20017,11 +19570,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20072,7 +19625,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20086,36 +19639,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -20124,11 +19677,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20138,7 +19691,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -20147,22 +19700,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20171,10 +19724,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -20182,7 +19735,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20203,10 +19756,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20217,11 +19770,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20272,7 +19825,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20286,36 +19839,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -20324,11 +19877,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20338,7 +19891,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -20347,22 +19900,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20371,10 +19924,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -20382,7 +19935,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20403,10 +19956,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20417,11 +19970,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20472,7 +20025,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20486,36 +20039,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -20524,11 +20077,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20538,7 +20091,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -20547,22 +20100,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20571,10 +20124,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -20582,7 +20135,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20603,10 +20156,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20617,11 +20170,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20755,7 +20308,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20769,36 +20322,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -20807,11 +20360,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20821,7 +20374,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -20830,22 +20383,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20854,10 +20407,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -20865,7 +20418,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20886,10 +20439,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20900,11 +20453,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20955,7 +20508,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20969,36 +20522,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -21007,11 +20560,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21021,7 +20574,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -21030,22 +20583,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21054,10 +20607,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -21065,7 +20618,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21086,10 +20639,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21100,11 +20653,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21155,7 +20708,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21169,36 +20722,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -21207,11 +20760,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21221,7 +20774,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -21230,22 +20783,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21254,10 +20807,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -21265,7 +20818,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21286,10 +20839,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21300,11 +20853,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21355,7 +20908,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21369,36 +20922,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -21407,11 +20960,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21421,7 +20974,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -21430,22 +20983,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21454,10 +21007,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -21465,7 +21018,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21486,10 +21039,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21500,11 +21053,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21555,7 +21108,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21569,36 +21122,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -21607,11 +21160,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21621,7 +21174,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -21630,22 +21183,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21654,10 +21207,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -21665,7 +21218,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21686,10 +21239,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21700,11 +21253,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21755,7 +21308,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21769,36 +21322,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -21807,11 +21360,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21821,7 +21374,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -21830,22 +21383,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21854,10 +21407,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -21865,7 +21418,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21886,10 +21439,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21900,11 +21453,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21955,7 +21508,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21969,36 +21522,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -22007,11 +21560,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22021,7 +21574,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -22030,22 +21583,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22054,10 +21607,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -22065,7 +21618,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22086,10 +21639,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22100,11 +21653,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22155,7 +21708,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22169,36 +21722,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -22207,11 +21760,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22221,7 +21774,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -22230,22 +21783,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22254,10 +21807,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -22265,7 +21818,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22286,10 +21839,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22300,11 +21853,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22355,7 +21908,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22369,36 +21922,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -22407,11 +21960,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22421,7 +21974,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -22430,22 +21983,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22454,10 +22007,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -22465,7 +22018,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22486,10 +22039,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22500,11 +22053,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22597,7 +22150,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22611,36 +22164,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -22649,11 +22202,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22663,7 +22216,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -22672,22 +22225,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22696,10 +22249,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -22707,7 +22260,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22728,10 +22281,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22742,11 +22295,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22797,7 +22350,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22811,36 +22364,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -22849,11 +22402,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22863,7 +22416,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -22872,22 +22425,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22896,10 +22449,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -22907,7 +22460,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22928,10 +22481,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22942,11 +22495,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22997,7 +22550,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23011,36 +22564,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -23049,11 +22602,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23063,7 +22616,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -23072,22 +22625,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23096,10 +22649,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -23107,7 +22660,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23128,10 +22681,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23142,11 +22695,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23197,7 +22750,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23211,36 +22764,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -23249,11 +22802,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23263,7 +22816,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -23272,22 +22825,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23296,10 +22849,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -23307,7 +22860,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23328,10 +22881,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23342,11 +22895,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23397,7 +22950,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23411,36 +22964,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -23449,11 +23002,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23463,7 +23016,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -23472,22 +23025,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23496,10 +23049,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -23507,7 +23060,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23528,10 +23081,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23542,11 +23095,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23597,7 +23150,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23611,36 +23164,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -23649,11 +23202,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23663,7 +23216,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -23672,22 +23225,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23696,10 +23249,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -23707,7 +23260,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23728,10 +23281,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23742,11 +23295,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23797,7 +23350,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23811,36 +23364,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -23849,11 +23402,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23863,7 +23416,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -23872,22 +23425,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23896,10 +23449,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -23907,7 +23460,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23928,10 +23481,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23942,11 +23495,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24039,7 +23592,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24053,36 +23606,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -24091,11 +23644,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24105,7 +23658,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -24114,22 +23667,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24138,10 +23691,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -24149,7 +23702,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24170,10 +23723,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24184,11 +23737,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24281,7 +23834,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24295,36 +23848,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -24333,11 +23886,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24347,7 +23900,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -24356,22 +23909,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24380,10 +23933,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -24391,7 +23944,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24412,10 +23965,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24426,11 +23979,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24481,7 +24034,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24495,36 +24048,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -24533,11 +24086,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24547,7 +24100,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -24556,22 +24109,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24580,10 +24133,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -24591,7 +24144,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24612,10 +24165,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24626,11 +24179,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24723,7 +24276,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24737,36 +24290,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -24775,11 +24328,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24789,7 +24342,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -24798,22 +24351,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24822,10 +24375,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -24833,7 +24386,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24854,10 +24407,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24868,11 +24421,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24965,7 +24518,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24979,36 +24532,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -25017,11 +24570,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25031,7 +24584,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -25040,22 +24593,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25064,10 +24617,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -25075,7 +24628,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25096,10 +24649,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25110,11 +24663,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25413,7 +24966,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25427,36 +24980,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -25465,11 +25018,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25479,7 +25032,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -25488,22 +25041,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25512,10 +25065,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -25523,7 +25076,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25544,10 +25097,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25558,11 +25111,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25613,7 +25166,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25627,36 +25180,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -25665,11 +25218,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25679,7 +25232,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -25688,22 +25241,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25712,10 +25265,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -25723,7 +25276,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25744,10 +25297,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25758,11 +25311,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25896,7 +25449,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25910,36 +25463,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -25948,11 +25501,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25962,7 +25515,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -25971,22 +25524,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25995,10 +25548,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -26006,7 +25559,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26027,10 +25580,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26041,11 +25594,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26096,7 +25649,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26110,36 +25663,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -26148,11 +25701,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26162,7 +25715,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -26171,22 +25724,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26195,10 +25748,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -26206,7 +25759,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26227,10 +25780,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26241,11 +25794,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26337,7 +25890,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26351,36 +25904,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -26389,11 +25942,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26403,7 +25956,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -26412,22 +25965,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26436,10 +25989,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -26447,7 +26000,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26468,10 +26021,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26482,11 +26035,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26579,7 +26132,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26593,36 +26146,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -26631,11 +26184,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26645,7 +26198,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -26654,22 +26207,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26678,10 +26231,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -26689,7 +26242,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26710,10 +26263,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26724,11 +26277,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26779,7 +26332,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26793,36 +26346,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -26831,11 +26384,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26845,7 +26398,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -26854,22 +26407,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26878,10 +26431,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -26889,7 +26442,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26910,10 +26463,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26924,11 +26477,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -27021,7 +26574,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -27035,36 +26588,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -27073,11 +26626,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27087,7 +26640,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -27096,22 +26649,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27120,10 +26673,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -27131,7 +26684,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27152,10 +26705,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27166,11 +26719,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -27221,7 +26774,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -27235,36 +26788,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -27273,11 +26826,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27287,7 +26840,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -27296,22 +26849,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27320,10 +26873,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -27331,7 +26884,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27352,10 +26905,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27366,11 +26919,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -27421,7 +26974,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -27435,36 +26988,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -27473,11 +27026,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27487,7 +27040,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -27496,22 +27049,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27520,10 +27073,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -27531,7 +27084,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27552,10 +27105,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27566,11 +27119,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -27745,31 +27298,31 @@ A "contributor" is any person that distributes its contribution under this licen "Licensed patents" are a contributor's patent claims that read directly on its contribution. 2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. @@ -27890,30 +27443,30 @@ Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. Copyright (c) 2007-2009, Jan de Vaan All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -27923,70 +27476,70 @@ The MIT License (MIT) Copyright (c) Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Microsoft Patent Promise for .NET Libraries and Runtime Components +Microsoft Patent Promise for .NET Libraries and Runtime Components -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. -Definitions: +Definitions: -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. @@ -28050,31 +27603,31 @@ A "contributor" is any person that distributes its contribution under this licen "Licensed patents" are a contributor's patent claims that read directly on its contribution. 2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. @@ -28195,30 +27748,30 @@ Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. Copyright (c) 2007-2009, Jan de Vaan All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -28228,70 +27781,70 @@ The MIT License (MIT) Copyright (c) Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Microsoft Patent Promise for .NET Libraries and Runtime Components +Microsoft Patent Promise for .NET Libraries and Runtime Components -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. -Definitions: +Definitions: -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. @@ -28355,31 +27908,31 @@ A "contributor" is any person that distributes its contribution under this licen "Licensed patents" are a contributor's patent claims that read directly on its contribution. 2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. @@ -28500,30 +28053,30 @@ Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. Copyright (c) 2007-2009, Jan de Vaan All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -28533,70 +28086,70 @@ The MIT License (MIT) Copyright (c) Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Microsoft Patent Promise for .NET Libraries and Runtime Components +Microsoft Patent Promise for .NET Libraries and Runtime Components -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. -Definitions: +Definitions: -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. @@ -28657,7 +28210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28671,36 +28224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -28709,11 +28262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -28723,7 +28276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -28732,22 +28285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -28756,10 +28309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -28767,7 +28320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28788,10 +28341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28802,11 +28355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28857,7 +28410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28871,36 +28424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -28909,11 +28462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -28923,7 +28476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -28932,22 +28485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -28956,10 +28509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -28967,7 +28520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28988,10 +28541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29002,11 +28555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29057,7 +28610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29071,36 +28624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -29109,11 +28662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29123,7 +28676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -29132,22 +28685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29156,10 +28709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -29167,7 +28720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29188,10 +28741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29202,11 +28755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29257,7 +28810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29271,36 +28824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -29309,11 +28862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29323,7 +28876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -29332,22 +28885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29356,10 +28909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -29367,7 +28920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29388,10 +28941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29402,11 +28955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29457,7 +29010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29471,36 +29024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -29509,11 +29062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29523,7 +29076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -29532,22 +29085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29556,10 +29109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -29567,7 +29120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29588,10 +29141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29602,11 +29155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29657,7 +29210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29671,36 +29224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -29709,11 +29262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29723,7 +29276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -29732,22 +29285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29756,10 +29309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -29767,7 +29320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29788,10 +29341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29802,11 +29355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29857,7 +29410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29871,36 +29424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -29909,11 +29462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29923,7 +29476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -29932,22 +29485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29956,10 +29509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -29967,7 +29520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29988,10 +29541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30002,11 +29555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30057,7 +29610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30071,36 +29624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -30109,11 +29662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30123,7 +29676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -30132,22 +29685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30156,10 +29709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -30167,7 +29720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30188,10 +29741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30202,11 +29755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30257,7 +29810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30271,36 +29824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -30309,11 +29862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30323,7 +29876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -30332,22 +29885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30356,10 +29909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -30367,7 +29920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30388,10 +29941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30402,11 +29955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30457,7 +30010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30471,36 +30024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -30509,11 +30062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30523,7 +30076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -30532,22 +30085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30556,10 +30109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -30567,7 +30120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30588,10 +30141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30602,11 +30155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30657,7 +30210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30671,36 +30224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -30709,11 +30262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30723,7 +30276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -30732,22 +30285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30756,10 +30309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -30767,7 +30320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30788,10 +30341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30802,11 +30355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30857,7 +30410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30871,36 +30424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -30909,11 +30462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30923,7 +30476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -30932,22 +30485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30956,10 +30509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -30967,7 +30520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30988,10 +30541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31002,11 +30555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31057,7 +30610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31071,36 +30624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -31109,11 +30662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31123,7 +30676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -31132,22 +30685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31156,10 +30709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -31167,7 +30720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31188,10 +30741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31202,11 +30755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31257,7 +30810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31271,36 +30824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -31309,11 +30862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31323,7 +30876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -31332,22 +30885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31356,10 +30909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -31367,7 +30920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31388,10 +30941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31402,11 +30955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31457,7 +31010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31471,36 +31024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -31509,11 +31062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31523,7 +31076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -31532,22 +31085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31556,10 +31109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -31567,7 +31120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31588,10 +31141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31602,11 +31155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31657,7 +31210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31671,36 +31224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -31709,11 +31262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31723,7 +31276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -31732,22 +31285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31756,10 +31309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -31767,7 +31320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31788,10 +31341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31802,11 +31355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31857,7 +31410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31871,36 +31424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -31909,11 +31462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31923,7 +31476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -31932,22 +31485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31956,10 +31509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -31967,7 +31520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31988,10 +31541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32002,11 +31555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32057,7 +31610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32071,36 +31624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -32109,11 +31662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32123,7 +31676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -32132,22 +31685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32156,10 +31709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -32167,7 +31720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32188,10 +31741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32202,11 +31755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32257,7 +31810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32271,36 +31824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -32309,11 +31862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32323,7 +31876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -32332,22 +31885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32356,10 +31909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -32367,7 +31920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32388,10 +31941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32402,11 +31955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32457,7 +32010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32471,36 +32024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -32509,11 +32062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32523,7 +32076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -32532,22 +32085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32556,10 +32109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -32567,7 +32120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32588,10 +32141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32602,11 +32155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32657,7 +32210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32671,36 +32224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -32709,11 +32262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32723,7 +32276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -32732,22 +32285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32756,10 +32309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -32767,7 +32320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32788,10 +32341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32802,11 +32355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32857,7 +32410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32871,36 +32424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -32909,11 +32462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32923,7 +32476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -32932,22 +32485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32956,10 +32509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -32967,7 +32520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32988,10 +32541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33002,11 +32555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33057,7 +32610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33071,36 +32624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -33109,11 +32662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33123,7 +32676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -33132,22 +32685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33156,10 +32709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -33167,7 +32720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33188,10 +32741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33202,11 +32755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33257,7 +32810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33271,36 +32824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -33309,11 +32862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33323,7 +32876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -33332,22 +32885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33356,10 +32909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -33367,7 +32920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33388,10 +32941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33402,11 +32955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33457,7 +33010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33471,36 +33024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -33509,11 +33062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33523,7 +33076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -33532,22 +33085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33556,10 +33109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -33567,7 +33120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33588,10 +33141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33602,11 +33155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33657,7 +33210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33671,36 +33224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -33709,11 +33262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33723,7 +33276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -33732,22 +33285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33756,10 +33309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -33767,7 +33320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33788,10 +33341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33802,11 +33355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33857,7 +33410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33871,36 +33424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -33909,11 +33462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33923,7 +33476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -33932,22 +33485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33956,10 +33509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -33967,7 +33520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33988,10 +33541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34002,11 +33555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34057,7 +33610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34071,36 +33624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -34109,11 +33662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34123,7 +33676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -34132,22 +33685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34156,10 +33709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -34167,7 +33720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34188,10 +33741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34202,11 +33755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34257,7 +33810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34271,36 +33824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -34309,11 +33862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34323,7 +33876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -34332,22 +33885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34356,10 +33909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -34367,7 +33920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34388,10 +33941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34402,11 +33955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34457,7 +34010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34471,36 +34024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -34509,11 +34062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34523,7 +34076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -34532,22 +34085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34556,10 +34109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -34567,7 +34120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34588,10 +34141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34602,11 +34155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34657,7 +34210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34671,36 +34224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -34709,11 +34262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34723,7 +34276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -34732,22 +34285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34756,10 +34309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -34767,7 +34320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34788,10 +34341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34802,11 +34355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34857,7 +34410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34871,36 +34424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -34909,11 +34462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34923,7 +34476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -34932,22 +34485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34956,10 +34509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -34967,7 +34520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34988,10 +34541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35002,11 +34555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35057,7 +34610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35071,36 +34624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -35109,11 +34662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35123,7 +34676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -35132,22 +34685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35156,10 +34709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -35167,7 +34720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35188,10 +34741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35202,11 +34755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35257,7 +34810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35271,36 +34824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -35309,11 +34862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35323,7 +34876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -35332,22 +34885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35356,10 +34909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -35367,7 +34920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35388,10 +34941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35402,11 +34955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35457,7 +35010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35471,36 +35024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -35509,11 +35062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35523,7 +35076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -35532,22 +35085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35556,10 +35109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -35567,7 +35120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35588,10 +35141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35602,11 +35155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35657,7 +35210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35671,36 +35224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -35709,11 +35262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35723,7 +35276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -35732,22 +35285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35756,10 +35309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -35767,7 +35320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35788,10 +35341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35802,11 +35355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35857,7 +35410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35871,36 +35424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -35909,11 +35462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35923,7 +35476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -35932,22 +35485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35956,10 +35509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -35967,7 +35520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35988,10 +35541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36002,11 +35555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36057,7 +35610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36071,36 +35624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -36109,11 +35662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36123,7 +35676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -36132,22 +35685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36156,10 +35709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -36167,7 +35720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36188,10 +35741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36202,11 +35755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36257,7 +35810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36271,36 +35824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -36309,11 +35862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36323,7 +35876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -36332,22 +35885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36356,10 +35909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -36367,7 +35920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36388,10 +35941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36402,11 +35955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36457,7 +36010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36471,36 +36024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -36509,11 +36062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36523,7 +36076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -36532,22 +36085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36556,10 +36109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -36567,7 +36120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36588,10 +36141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36602,11 +36155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36657,7 +36210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36671,36 +36224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -36709,11 +36262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36723,7 +36276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -36732,22 +36285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36756,10 +36309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -36767,7 +36320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36788,10 +36341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36802,11 +36355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36857,7 +36410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36871,36 +36424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -36909,11 +36462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36923,7 +36476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -36932,22 +36485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36956,10 +36509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -36967,7 +36520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36988,10 +36541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37002,11 +36555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37057,7 +36610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37071,36 +36624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -37109,11 +36662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37123,7 +36676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -37132,22 +36685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37156,10 +36709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -37167,7 +36720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37188,10 +36741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37202,11 +36755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37257,7 +36810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37271,36 +36824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -37309,11 +36862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37323,7 +36876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -37332,22 +36885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37356,10 +36909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -37367,7 +36920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37388,10 +36941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37402,11 +36955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37457,7 +37010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37471,36 +37024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -37509,11 +37062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37523,7 +37076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -37532,22 +37085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37556,10 +37109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -37567,7 +37120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37588,10 +37141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37602,11 +37155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37657,7 +37210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37671,36 +37224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -37709,11 +37262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37723,7 +37276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -37732,22 +37285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37756,10 +37309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -37767,7 +37320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37788,10 +37341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37802,11 +37355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37857,7 +37410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37871,36 +37424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -37909,11 +37462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37923,7 +37476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -37932,22 +37485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37956,10 +37509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -37967,7 +37520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37988,10 +37541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38002,11 +37555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38057,7 +37610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38071,36 +37624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -38109,11 +37662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38123,7 +37676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -38132,22 +37685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38156,10 +37709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -38167,7 +37720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38188,10 +37741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38202,11 +37755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38257,7 +37810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38271,36 +37824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -38309,11 +37862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38323,7 +37876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -38332,22 +37885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38356,10 +37909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -38367,7 +37920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38388,10 +37941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38402,11 +37955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38457,7 +38010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38471,36 +38024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -38509,11 +38062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38523,7 +38076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -38532,22 +38085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38556,10 +38109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -38567,7 +38120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38588,10 +38141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38602,11 +38155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38657,7 +38210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38671,36 +38224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -38709,11 +38262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38723,7 +38276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -38732,22 +38285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38756,10 +38309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -38767,7 +38320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38788,10 +38341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38802,11 +38355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38857,7 +38410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38871,36 +38424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -38909,11 +38462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38923,7 +38476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -38932,22 +38485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38956,10 +38509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -38967,7 +38520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38988,10 +38541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39002,11 +38555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39057,7 +38610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39071,36 +38624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -39109,11 +38662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39123,7 +38676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -39132,22 +38685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39156,10 +38709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -39167,7 +38720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39188,10 +38741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39202,11 +38755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39257,7 +38810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39271,36 +38824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -39309,11 +38862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39323,7 +38876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -39332,22 +38885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39356,10 +38909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -39367,7 +38920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39388,10 +38941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39402,11 +38955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39457,7 +39010,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39471,36 +39024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -39509,11 +39062,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39523,7 +39076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -39532,22 +39085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39556,10 +39109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -39567,7 +39120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39588,10 +39141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39602,11 +39155,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39657,7 +39210,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39671,36 +39224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -39709,11 +39262,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39723,7 +39276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -39732,22 +39285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39756,10 +39309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -39767,7 +39320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39788,10 +39341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39802,11 +39355,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39857,7 +39410,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39871,36 +39424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -39909,11 +39462,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39923,7 +39476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -39932,22 +39485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39956,10 +39509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -39967,7 +39520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39988,10 +39541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40002,11 +39555,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -40057,7 +39610,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -40071,36 +39624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -40109,11 +39662,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -40123,7 +39676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -40132,22 +39685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -40156,10 +39709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -40167,7 +39720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40188,10 +39741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40202,11 +39755,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -40257,7 +39810,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -40271,36 +39824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a.     DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. -·        +i.      Right to Use and Distribute. +�        You may copy and distribute the object code form of the software. -·        +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -·        +�        use the Distributable Code in your applications and not as a standalone distribution; -·        +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -·        +�        indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -·        -use Microsoft’s trademarks in your applications’ names or in a way +�        +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -·        +�        modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4.    @@ -40309,11 +39862,11 @@ a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -40323,7 +39876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5.    Scope of License. The software is licensed, not sold. This agreement @@ -40332,22 +39885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -·        +�        work around any technical limitations in the software; -·        +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -·        +�        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -·        +any notices of Microsoft or its suppliers in the software; +�        use the software in any way that is against the law; or -·        +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -40356,10 +39909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting.   +on export restrictions, visit www.microsoft.com/exporting. � 7.    SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8.    Entire @@ -40367,7 +39920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40388,10 +39941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40402,11 +39955,11 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU diff --git a/docs/setup/setup.md b/docs/setup/setup.md index 01a870a21..4711cea85 100644 --- a/docs/setup/setup.md +++ b/docs/setup/setup.md @@ -131,23 +131,31 @@ Locate the storage section of the configuration in `appsettings.json`: "InformaticsGateway": { "dicom": { ... }, "storage": { - "storageServiceCredentials": { - "endpoint": "localhost:9000", # IP & port to MinIO instance - "accessKey": "admin", # Access key or username - "accessToken": "password", # Access token or password - "securedConnection": false, # Indicates if connection should be secured using HTTPS - "region": "local", # Region - "serviceName": "MinIO" # Name of the service - }, - "storageService": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", # Fully qualified type name of the storage service - "securedConnection": false, # Indicates if a secured connection is required to access MinIO - "storageServiceBucketName": "igbucket" # The name of the bucket where data is uploaded to + "localTemporaryStoragePath": "/payloads", # path to store incoming data before uploading to the storage service + "remoteTemporaryStoragePath": "/incoming", # the path on the "temporaryBucketName" where the data is uploaded to before payload assembly + "bucketName": "monaideploy", # name of the bucket for storing payloads + "temporaryBucketName": "monaideploy", # name of the bucket for temporarily storing incoming data before payload is assembled + "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", # the fully qualified assembly name for the storage service to use + "watermarkPercent": 75, # a percentage value that indicates when the system shall stop receiving or downloading data. Disk space is calculated based on the path defined in "localTemporaryStoragePath" + "reserveSpaceGB": 5, # minimum disk space required and reserved for the Informatics Gateway + "settings": { # settings for the storage library: default to minio + "endpoint": "localhost:9000", # MinIO server IP and port number + "accessKey": "admin", # username/access key + "accessToken": "password", # password/access token + "securedConnection": false, # enable secured connection to minio? + "region": "local", # storatge region + "createBuckets": "monaideploy" # buckets to be created on startup if not already exists + } }, ... } } ``` +> [!Note] +> Update the `createBuckets` configuration if you would like to have the Informatics Gateway create the storage buckets on startup. Otherwise, leave it blank. +> To create multiple buckets, separate each bucket name with comma. + #### Install the Storage Plug-in As shown above, the default plug-in configured is __MinIO__ and is ready to use. diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 967375a51..96a3bd222 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -29,9 +29,9 @@ <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> </ItemGroup> <ItemGroup> diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 415fa7dd6..839e7e7d6 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -51,7 +51,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Crayon" Version="2.0.64" /> + <PackageReference Include="Crayon" Version="2.0.69" /> <PackageReference Include="Docker.DotNet" Version="3.125.12" /> <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 9e1c4b0ba..256cf51fe 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,7 +31,7 @@ <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index 4188f5640..0026b843c 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -42,12 +42,12 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.9"> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 80d7432f1..996423108 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +33,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.7.2" /> + <PackageReference Include="DotNext.Threading" Version="4.7.3" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> @@ -41,16 +41,16 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.9" /> + <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.10" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.7" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.4" /> <PackageReference Include="NLog" Version="5.0.4" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 9ea5297af..2cc67b497 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -35,7 +35,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.10" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 54229a19d..7f444e1b1 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -53,7 +53,8 @@ "securedConnection": false, "region": "local", "executableLocation": "/bin/mc", - "serviceName": "MinIO" + "serviceName": "MinIO", + "createBuckets": "monaideploy" } }, "hl7": { diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 2a9d060ef..0b08987a9 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,8 +25,8 @@ <ItemGroup> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.9" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> @@ -34,7 +34,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> <PackageReference Include="Minio" Version="4.0.5" /> <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.7" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> @@ -46,7 +46,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="FluentAssertions" Version="6.7.0" /> + <PackageReference Include="FluentAssertions" Version="6.8.0" /> </ItemGroup> <ItemGroup> From 430fc84a6df05ad296c871e7772a287eb886881d Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 27 Oct 2022 10:08:14 -0700 Subject: [PATCH 069/101] Merge patch release/0.3.2 into main (#226) +semver: patch * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update .gitversion.yml * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * merge develop main (#156) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update .gitversion.yml * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update fo-dicom to 5.0.3 (#164) * Update fo-dicom to 5.0.3 and handle breaking changes * Make validation on DICOM to JSON serialization configurable Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump anchore/scan-action from 3.2.5 to 3.3.0 (#158) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.5 to 3.3.0. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.5...v3.3.0) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update default SCU AET to MONAISCU (#157) * gh-155 Chnage default SCU AET to MONAISCU * gh-155 update packages * Update package approvals & licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Ability to switch temporary storage to use either memory or disk (#166) * Ability to switch temporary storage to use either memory or disk Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix configuration name for temp data storage. Signed-off-by: Victor Chang <vicchang@nvidia.com> * Validate storage configurations based on temp storage location Signed-off-by: Victor Chang <vicchang@nvidia.com> * Log time for a payload to complete end-to-end within the service. Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Revert "Ability to switch temporary storage to use either memory or disk (#166)" (#167) This reverts commit 09887b1bff6ec7d77e69e0256edc76bac1ec6a82. * rebased changes Signed-off-by: Neil South <neil.south@answerdigital.com> * update to docs Signed-off-by: Neil South <neil.south@answerdigital.com> * Update ci.yml Signed-off-by: Victor Chang <vicchang@nvidia.com> * Enable homebrew Signed-off-by: Victor Chang <vicchang@nvidia.com> * Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * merge develop main (#156) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release/0.3.0 (#152) * Create dependabot.yml * Bump actions/cache from 2.1.7 to 3.0.8 (#123) Bumps [actions/cache](https://github.com/actions/cache) from 2.1.7 to 3.0.8. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v2.1.7...v3.0.8) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 1 to 2 (#121) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump anchore/scan-action from 3.2.0 to 3.2.5 (#120) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.2.0 to 3.2.5. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.2.0...v3.2.5) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-java from 1 to 3 (#122) * Bump actions/setup-java from 1 to 3 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 3. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump docker/login-action from 1.12.0 to 2.0.0 (#126) Bumps [docker/login-action](https://github.com/docker/login-action) from 1.12.0 to 2.0.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1.12.0...v2.0.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement FHIR server (#118) * gh-29 Implement FHIR server * gh-29 Unit test for FHIR service * gh-29 Test feature for FHIR * Update API doc & changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Integrate MS Health Check Service (#130) * Update health check API * Integrate MS health check service * Enable overriding configurations with env vars Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump codecov/codecov-action from 2 to 3 (#131) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2...v3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump jungwinter/split from 1 to 2 (#136) * Bump jungwinter/split from 1 to 2 Bumps [jungwinter/split](https://github.com/jungwinter/split) from 1 to 2. - [Release notes](https://github.com/jungwinter/split/releases) - [Commits](https://github.com/jungwinter/split/compare/v1...v2) --- updated-dependencies: - dependency-name: jungwinter/split dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update ci.yml Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> * Bump actions/download-artifact from 2 to 3 (#139) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/upload-artifact from 2.3.1 to 3.1.0 (#133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.1 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v2.3.1...v3.1.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump crazy-max/ghaction-chocolatey from 1 to 2 (#132) Bumps [crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey) from 1 to 2. - [Release notes](https://github.com/crazy-max/ghaction-chocolatey/releases) - [Changelog](https://github.com/crazy-max/ghaction-chocolatey/blob/master/CHANGELOG.md) - [Commits](https://github.com/crazy-max/ghaction-chocolatey/compare/v1...v2) --- updated-dependencies: - dependency-name: crazy-max/ghaction-chocolatey dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/metadata-action from 3.6.2 to 4.0.1 (#135) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 3.6.2 to 4.0.1. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v3.6.2...v4.0.1) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#143) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump gittools/actions from 0.9.11 to 0.9.13 (#142) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.11 to 0.9.13. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.11...v0.9.13) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump docker/build-push-action from 2.9.0 to 3.1.1 (#140) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.9.0 to 3.1.1. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.9.0...v3.1.1) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Merge Release/0.3.0 into develop (#150) * Ignore dependabot.yml from the license scan * Update third-party licenses * Update license links * Fix missing header * Updates per feedback * Switch base image to 6.0-jammy (#148) Signed-off-by: Victor Chang <vicchang@nvidia.com> * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump Docker.DotNet from 3.125.10 to 3.125.11 (#147) Bumps [Docker.DotNet](https://github.com/dotnet/Docker.DotNet) from 3.125.10 to 3.125.11. - [Release notes](https://github.com/dotnet/Docker.DotNet/releases) - [Commits](https://github.com/dotnet/Docker.DotNet/compare/v3.125.10...v3.125.11) --- updated-dependencies: - dependency-name: Docker.DotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions from 17.1.1 to 17.2.1 (#146) Bumps [System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump System.IO.Abstractions.TestingHelpers from 17.1.1 to 17.2.1 (#145) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 17.1.1 to 17.2.1. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v17.1.1...v17.2.1) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update third party licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * Fix missing header Signed-off-by: Victor Chang <vicchang@nvidia.com> * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update .gitversion.yml * Merge main to develop (#151) * Update for release/0.2.0 * Release 0.3.0 (#144) * Implement FHIR server (#118) * Integrate MS Health Check Service (#130) Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Revert "Ability to switch temporary storage to use either memory or disk (#166)" (#167) This reverts commit 09887b1bff6ec7d77e69e0256edc76bac1ec6a82. * rebased changes (#170) Signed-off-by: Neil South <neil.south@answerdigital.com> Signed-off-by: Neil South <neil.south@answerdigital.com> * Ability to switch temporary storage to use either memory or disk (#169) * Ability to switch temporary storage to use either memory or disk * Fix configuration name for temp data storage. * Validate storage configurations based on temp storage location * Log time for a payload to complete end-to-end within the service. * Use disk as default temp storage * Fix unit tests & integration test * Update changelog * Update licenses * Add unit test for Health Check Signed-off-by: Victor Chang <vicchang@nvidia.com> * Revert "rebased changes (#170)" (#177) This reverts commit 148c1e43de1d618894a4ef55ec5a0a0e20623c14. * Create AE/src/dest APIs to return 409 if entity already exists (#182) * gh-180 Config AE/src/dst APIs to return 409 if entity already exists * Fix integration tests. Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> * REST API to C-ECHO a DICOM Destination (#185) * gh-165 Implement C-ECHO API * gh-165 Unit test for C-ECHO API * gh-165 Update CLI with c-echo command * gh-165 Update user guide * gh-165 Update changelog Signed-off-by: Victor Chang <vicchang@nvidia.com> * Reset stream position before upload (#186) * gh-183 Reset stream position * Skip messsge comparison for HL7 test feature Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump actions/cache from 3.0.8 to 3.0.10 (#190) Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.0.10. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.0.8...v3.0.10) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-dotnet from 2 to 3 (#189) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * update messaging lib to fix RMQ connection issues (#187) * gh-184 update messaging lib to fix RMQ connection issues Signed-off-by: Victor Chang <vicchang@nvidia.com> * fix for missing nugets (#196) Signed-off-by: Neil South <neil.south@answerdigital.com> * Stops accepting/retrieving data when disk space is low. (#194) * gh-188 Stops accepting/retreiving data when disk space is low. - Allows users to configure watermark & reserve space similar to 0.1. - gh-188 Stop accepting DICOMweb, HL7 & FHIR when disk space is low Signed-off-by: Victor Chang <vicchang@nvidia.com> * APIs to update DICOM source and destination (#197) * gh-195 APIs to update DICOM source and destination * Use ICollectionFIxture to share SCP listener context Signed-off-by: Victor Chang <vicchang@nvidia.com> * Include export status for every file (#201) * gh-199 Include export status for every file * gh-199 Improve logging Signed-off-by: Victor Chang <vicchang@nvidia.com> * Create sqlite indexes to improve db queries (#203) * gh-202 Create sqlite indexes to improve db queries * Replace ActionBlock with Task.Run * Stops storing upload file metadata to improve performance * Update messaging libs to 0.1.8 Signed-off-by: Victor Chang <vicchang@nvidia.com> * Bump ConsoleAppFramework from 4.2.3 to 4.2.4 (#204) Bumps [ConsoleAppFramework](https://github.com/Cysharp/ConsoleAppFramework) from 4.2.3 to 4.2.4. - [Release notes](https://github.com/Cysharp/ConsoleAppFramework/releases) - [Commits](https://github.com/Cysharp/ConsoleAppFramework/compare/4.2.3...4.2.4) --- updated-dependencies: - dependency-name: ConsoleAppFramework dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use NLog (#198) Signed-off-by: Victor Chang <vicchang@nvidia.com> Co-authored-by: Neil South <neil.south@answerdigital.com> * Update RetryFact Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Neil South <neil.south@answerdigital.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Neil South <neil.south@answerdigital.com> Co-authored-by: Neil South <104848880+neildsouth@users.noreply.github.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Victor Chang <vicchang@nvidia.com> Signed-off-by: Neil South <neil.south@answerdigital.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Neil South <neil.south@answerdigital.com> Co-authored-by: Neil South <104848880+neildsouth@users.noreply.github.com> --- .github/workflows/ci.yml | 20 +- docs/changelog.md | 10 +- docs/compliance/third-party-licenses.md | 11435 ++++++++-------- docs/setup/setup.md | 3 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 2 +- src/InformaticsGateway/nlog.config | 6 +- ...InformaticsGateway.Integration.Test.csproj | 4 +- 9 files changed, 5965 insertions(+), 5519 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9e8e2a32..c4d889298 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/setup-dotnet@v3 with: dotnet-version: "6.0.x" - + - name: Install GitVersion run: dotnet tool install --global GitVersion.Tool @@ -82,7 +82,7 @@ jobs: - name: Enable Homebrew run: echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH - + - name: Install License Finder tool with Homebrew uses: tecoli-com/actions-use-homebrew-tools@v0.4 with: @@ -125,7 +125,7 @@ jobs: - name: Secret detection uses: gitleaks/gitleaks-action@v1.6.0 - + - name: Perform License Scanning run: license_finder -r @@ -156,7 +156,7 @@ jobs: - uses: actions/checkout@v3 with: fetch-depth: 0 - + - name: Install SonarCloud scanner if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' run: dotnet tool install --global dotnet-sonarscanner @@ -164,26 +164,26 @@ jobs: - name: Restore dependencies run: dotnet restore working-directory: ./src - + - name: Begin SonarScanner env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: dotnet sonarscanner begin /k:"Project-MONAI_monai-deploy-informatics-gateway" /o:"project-monai" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.opencover.reportsPaths="${{ env.TEST_RESULTS }}/**/*.xml" working-directory: ./src - + - name: Build env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: dotnet build -c ${{ env.BUILD_CONFIG }} --nologo "${{ env.SOLUTION }}" working-directory: ./src - + - name: Test env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: find ~+ -type f -name "*.Test.csproj" | xargs -L1 dotnet test -c ${{ env.BUILD_CONFIG }} -v=minimal -r "${{ env.TEST_RESULTS }}" --collect:"XPlat Code Coverage" --settings coverlet.runsettings + run: find ~+ -type f -name "*.Test.csproj" | xargs -L1 dotnet test -c ${{ env.BUILD_CONFIG }} -v=minimal -r "${{ env.TEST_RESULTS }}" --collect:"XPlat Code Coverage" --settings coverlet.runsettings working-directory: ./src - name: End SonarScanner @@ -192,7 +192,7 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: dotnet sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" working-directory: ./src - + - uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} @@ -436,7 +436,7 @@ jobs: run: | mkdir ~\release Compress-Archive -Path docs\_site\* -DestinationPath ~\release\mig-docs-${{ env.SEMVER }}.zip - Get-ChildItem ~\release -Recurse + Get-ChildItem ~\release -Recurse - name: Upload docs uses: actions/upload-artifact@v3.1.1 diff --git a/docs/changelog.md b/docs/changelog.md index 142a0bd02..ecefdc3d3 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -20,7 +20,7 @@ ## 0.3.3 -[GitHub Milestone 0.3.2](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/9) +[GitHub Milestone 0.3.3](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/9) - Ability to create storage buckets on startup - Include logging scope values for LogStash @@ -65,10 +65,10 @@ - Adds HL7 (MLLP) service to enable triggering of workflow requests using HL7 messages. - Breaking changes with how Informatics Gateway handles incoming data and uploading to the storage service. All incoming data are now immediately queued for upload to the storage service instead of saving to the local disk. - Therefore, if Informatics Gateway restarts or crashes during upload, any queued or incomplete uploads are lost. - In addition, during the Informatics Gateway startup, the payload assembly service removes any payloads containing - any pending files. Files that were successfully uploaded to the temporary location (`storage>temporary`) in the - bucket (`storage>temporaryBucketName`) are then moved to the payload bucket (`storage>bucketName`) before sending a workflow request. + Therefore, if Informatics Gateway restarts or crashes during upload, any queued or incomplete uploads are lost. + In addition, during the Informatics Gateway startup, the payload assembly service removes any payloads containing + any pending files. Files that were successfully uploaded to the temporary location (`storage>temporary`) in the + bucket (`storage>temporaryBucketName`) are then moved to the payload bucket (`storage>bucketName`) before sending a workflow request. - Breaking changes in the storage configuration to allow dynamic key-value pairs. - Breaking changes to enable dynamic loading of the storage & the messaging libraries. diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 894029ba8..56a1d84c1 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -60,15 +60,15 @@ SOFTWARE. <details> -<summary>AWSSDK.Core 3.7.100.1</summary> +<summary>AWSSDK.Core 3.7.13.8</summary> ## AWSSDK.Core -- Version: 3.7.100.1 +- Version: 3.7.13.8 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.100.1) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.13.8) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -206,15 +206,15 @@ END OF TERMS AND CONDITIONS <details> -<summary>AWSSDK.SecurityToken 3.7.100.1</summary> +<summary>AWSSDK.SecurityToken 3.7.1.203</summary> ## AWSSDK.SecurityToken -- Version: 3.7.100.1 +- Version: 3.7.1.203 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.100.1) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.203) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -628,13 +628,13 @@ SOFTWARE. <details> -<summary>Crayon 2.0.69</summary> +<summary>Crayon 2.0.64</summary> ## Crayon -- Version: 2.0.69 +- Version: 2.0.64 - Authors: Manuel Riezebosch -- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.69) +- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.64) - License: [MIT](https://github.com/riezebosch/crayon/raw/master/LICENSE) @@ -746,14 +746,92 @@ SOFTWARE. <details> -<summary>DotNext 4.7.3</summary> +<summary>DotNext 4.7.1</summary> ## DotNext -- Version: 4.7.3 +- Version: 4.7.1 +- Authors: .NET Foundation and Contributors +- Project URL: https://dotnet.github.io/dotNext/ +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.1) +- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) + + +``` +MIT License + +Copyright © .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>DotNext 4.7.2</summary> + +## DotNext + +- Version: 4.7.2 +- Authors: .NET Foundation and Contributors +- Project URL: https://dotnet.github.io/dotNext/ +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.2) +- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) + + +``` +MIT License + +Copyright © .NET Foundation and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>DotNext.Threading 4.7.1</summary> + +## DotNext.Threading + +- Version: 4.7.1 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.3) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.1) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -785,14 +863,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.3</summary> +<summary>DotNext.Threading 4.7.2</summary> ## DotNext.Threading -- Version: 4.7.3 +- Version: 4.7.2 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.3) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.2) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -824,14 +902,14 @@ SOFTWARE. <details> -<summary>FluentAssertions 6.8.0</summary> +<summary>FluentAssertions 6.7.0</summary> ## FluentAssertions -- Version: 6.8.0 +- Version: 6.7.0 - Authors: Dennis Doomen,Jonas Nyrup - Project URL: https://www.fluentassertions.com/ -- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.8.0) +- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.7.0) - License: [Apache-2.0](https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) @@ -1351,72 +1429,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -1424,42 +1502,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -1480,10 +1558,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -1494,7 +1572,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -2448,72 +2526,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2521,42 +2599,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2577,10 +2655,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2591,7 +2669,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -2648,72 +2726,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2721,42 +2799,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2777,10 +2855,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2791,7 +2869,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -2974,14 +3052,96 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.10</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.8</summary> + +## Microsoft.Data.Sqlite.Core + +- Version: 6.0.8 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.8) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Data.Sqlite.Core 6.0.9</summary> ## Microsoft.Data.Sqlite.Core -- Version: 6.0.10 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore 6.0.8</summary> + +## Microsoft.EntityFrameworkCore + +- Version: 6.0.8 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3015,14 +3175,55 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.9</summary> ## Microsoft.EntityFrameworkCore -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.8</summary> + +## Microsoft.EntityFrameworkCore.Abstractions + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3056,14 +3257,55 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.8</summary> + +## Microsoft.EntityFrameworkCore.Analyzers + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3097,14 +3339,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.10 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3138,14 +3380,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.10 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3179,14 +3421,55 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.9</summary> ## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.8</summary> + +## Microsoft.EntityFrameworkCore.Relational + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3220,14 +3503,55 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.8</summary> + +## Microsoft.EntityFrameworkCore.Sqlite + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3261,14 +3585,55 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.9) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.8</summary> + +## Microsoft.EntityFrameworkCore.Sqlite.Core + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.8) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3302,14 +3667,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.9</summary> ## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.10 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.9) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3991,14 +4356,47 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyInjection 6.0.1</summary> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> -## Microsoft.Extensions.DependencyInjection +## Microsoft.Extensions.DependencyInjection.Abstractions -- Version: 6.0.1 +- Version: 2.2.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) + + +``` +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> + +## Microsoft.Extensions.DependencyInjection.Abstractions + +- Version: 6.0.0 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4032,48 +4430,56 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> +<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> -## Microsoft.Extensions.DependencyInjection.Abstractions +## Microsoft.Extensions.DependencyModel -- Version: 2.2.0 +- Version: 6.0.0 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` +The MIT License (MIT) + Copyright (c) .NET Foundation and Contributors All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> -## Microsoft.Extensions.DependencyInjection.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.0 +- Version: 6.0.8 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4106,15 +4512,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.9</summary> -## Microsoft.Extensions.DependencyModel +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.0 +- Version: 6.0.9 - Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.9) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) ``` @@ -4147,14 +4553,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.10</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.10 +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4188,14 +4594,55 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.10</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.10 +- Version: 6.0.9 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> + +## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore + +- Version: 6.0.8 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4229,14 +4676,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.10</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.10 +- Version: 6.0.9 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5216,72 +5663,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5289,42 +5736,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5345,10 +5792,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5359,7 +5806,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -5458,72 +5905,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5531,42 +5978,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5587,10 +6034,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5601,7 +6048,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -5658,72 +6105,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5731,42 +6178,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5787,10 +6234,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5801,7 +6248,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -6220,72 +6667,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -6293,42 +6740,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6349,10 +6796,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6363,7 +6810,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -7326,14 +7773,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage 0.2.8</summary> +<summary>Monai.Deploy.Storage 0.2.7</summary> ## Monai.Deploy.Storage -- Version: 0.2.8 +- Version: 0.2.7 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.8) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.7) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -7554,14 +8001,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.8</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.7</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.8 +- Version: 0.2.7 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.8) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.7) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -7782,14 +8229,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.8</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.7</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.8 +- Version: 0.2.7 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.8) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.7) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8134,72 +8581,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -8207,42 +8654,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -8263,10 +8710,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -8277,7 +8724,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -8946,7 +9393,7 @@ resources legal and licencing contributors -  + Please note: our license is an adaptation of the MIT X11 License and should be read as such. @@ -8958,10 +9405,10 @@ Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bounc THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -  -  + + Site hosted by Tau Ceti Co-operative Ltd. @@ -10517,72 +10964,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10590,42 +11037,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -10646,10 +11093,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10660,7 +11107,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -10717,72 +11164,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10790,42 +11237,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -10846,10 +11293,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -10860,7 +11307,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -10959,72 +11406,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11032,42 +11479,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11088,10 +11535,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11102,7 +11549,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11159,72 +11606,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11232,42 +11679,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11288,10 +11735,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11302,7 +11749,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11400,72 +11847,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11473,42 +11920,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11529,10 +11976,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11543,7 +11990,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11600,72 +12047,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11673,42 +12120,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11729,10 +12176,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11743,7 +12190,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11964,72 +12411,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12037,42 +12484,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12093,10 +12540,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12107,7 +12554,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12248,72 +12695,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12321,42 +12768,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12377,10 +12824,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12391,7 +12838,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12448,72 +12895,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12521,42 +12968,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12577,10 +13024,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12591,7 +13038,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12690,72 +13137,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12763,42 +13210,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12819,10 +13266,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12833,7 +13280,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12890,72 +13337,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12963,42 +13410,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13019,10 +13466,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13033,7 +13480,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13090,72 +13537,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13163,42 +13610,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13219,10 +13666,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13233,7 +13680,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13372,72 +13819,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13445,42 +13892,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13501,10 +13948,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13515,7 +13962,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13572,72 +14019,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13645,42 +14092,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13701,10 +14148,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13715,7 +14162,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13814,72 +14261,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13887,42 +14334,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13943,10 +14390,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13957,7 +14404,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14014,72 +14461,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14087,42 +14534,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14143,10 +14590,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14157,7 +14604,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14214,72 +14661,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14287,42 +14734,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14343,10 +14790,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14357,7 +14804,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14414,72 +14861,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14487,42 +14934,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14543,10 +14990,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14557,7 +15004,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14614,72 +15061,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14687,42 +15134,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14743,10 +15190,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14757,7 +15204,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14814,72 +15261,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14887,42 +15334,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14943,10 +15390,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14957,7 +15404,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15178,72 +15625,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15251,42 +15698,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15307,10 +15754,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15321,7 +15768,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15378,72 +15825,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15451,42 +15898,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15507,10 +15954,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15521,7 +15968,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15578,72 +16025,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15651,42 +16098,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15707,10 +16154,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15721,7 +16168,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15778,72 +16225,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15851,42 +16298,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15907,10 +16354,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15921,7 +16368,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15978,72 +16425,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16051,42 +16498,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16107,10 +16554,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16121,7 +16568,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16219,72 +16666,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16292,42 +16739,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16348,10 +16795,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16362,7 +16809,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16503,72 +16950,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16576,42 +17023,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16632,10 +17079,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16646,7 +17093,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16703,72 +17150,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16776,42 +17223,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16832,10 +17279,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16846,7 +17293,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16903,72 +17350,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16976,42 +17423,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17032,10 +17479,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17046,7 +17493,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17103,72 +17550,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17176,42 +17623,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17232,10 +17679,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17246,7 +17693,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17303,72 +17750,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17376,42 +17823,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17432,10 +17879,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17446,7 +17893,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17503,72 +17950,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17576,42 +18023,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17632,10 +18079,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17646,7 +18093,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17703,72 +18150,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17776,42 +18223,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17832,10 +18279,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17846,7 +18293,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17903,72 +18350,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17976,42 +18423,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18032,10 +18479,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18046,7 +18493,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18185,72 +18632,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18258,42 +18705,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18314,10 +18761,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18328,7 +18775,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18385,72 +18832,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18458,42 +18905,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18514,10 +18961,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18528,7 +18975,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18585,72 +19032,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18658,42 +19105,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18714,10 +19161,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18728,7 +19175,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18785,72 +19232,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18858,42 +19305,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18914,10 +19361,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18928,7 +19375,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18985,72 +19432,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19058,42 +19505,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19114,10 +19561,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19128,7 +19575,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19227,72 +19674,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19300,42 +19747,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19356,10 +19803,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19370,7 +19817,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19427,72 +19874,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19500,42 +19947,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19556,10 +20003,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19570,7 +20017,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19627,72 +20074,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19700,42 +20147,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19756,10 +20203,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19770,7 +20217,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19827,72 +20274,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19900,42 +20347,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19956,10 +20403,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19970,7 +20417,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20027,72 +20474,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20100,42 +20547,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20156,10 +20603,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20170,7 +20617,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20310,72 +20757,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20383,42 +20830,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20439,10 +20886,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20453,7 +20900,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20510,72 +20957,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20583,42 +21030,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20639,10 +21086,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20653,7 +21100,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20710,72 +21157,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20783,42 +21230,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20839,10 +21286,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20853,7 +21300,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20910,72 +21357,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20983,42 +21430,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21039,10 +21486,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21053,7 +21500,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21110,72 +21557,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21183,42 +21630,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21239,10 +21686,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21253,7 +21700,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21310,72 +21757,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21383,42 +21830,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21439,10 +21886,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21453,7 +21900,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21510,72 +21957,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21583,42 +22030,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21639,10 +22086,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21653,7 +22100,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21710,72 +22157,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21783,42 +22230,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21839,10 +22286,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21853,7 +22300,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21910,72 +22357,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21983,42 +22430,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22039,10 +22486,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22053,7 +22500,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22152,72 +22599,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22225,42 +22672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22281,10 +22728,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22295,7 +22742,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22352,72 +22799,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22425,42 +22872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22481,10 +22928,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22495,7 +22942,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22552,72 +22999,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22625,42 +23072,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22681,10 +23128,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22695,7 +23142,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22752,72 +23199,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22825,42 +23272,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22881,10 +23328,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22895,7 +23342,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22952,72 +23399,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23025,42 +23472,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23081,10 +23528,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23095,7 +23542,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23152,72 +23599,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23225,42 +23672,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23281,10 +23728,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23295,7 +23742,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23352,72 +23799,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23425,42 +23872,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23481,10 +23928,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23495,7 +23942,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23594,72 +24041,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23667,42 +24114,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23723,10 +24170,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23737,7 +24184,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23836,72 +24283,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23909,42 +24356,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23965,10 +24412,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23979,7 +24426,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24036,72 +24483,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24109,42 +24556,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24165,10 +24612,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24179,7 +24626,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24278,72 +24725,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24351,42 +24798,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24407,10 +24854,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24421,7 +24868,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24520,72 +24967,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24593,42 +25040,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24649,10 +25096,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24663,7 +25110,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24968,72 +25415,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25041,42 +25488,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25097,10 +25544,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25111,7 +25558,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25168,72 +25615,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25241,42 +25688,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25297,10 +25744,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25311,7 +25758,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25451,72 +25898,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25524,42 +25971,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25580,10 +26027,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25594,7 +26041,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25651,72 +26098,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25724,42 +26171,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25780,10 +26227,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25794,7 +26241,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25892,72 +26339,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25965,42 +26412,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26021,10 +26468,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26035,7 +26482,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26134,72 +26581,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26207,42 +26654,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26263,10 +26710,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26277,7 +26724,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26334,72 +26781,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26407,42 +26854,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26463,10 +26910,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26477,7 +26924,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26576,72 +27023,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26649,42 +27096,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26705,10 +27152,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26719,7 +27166,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26776,72 +27223,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26849,42 +27296,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26905,10 +27352,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26919,7 +27366,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26976,72 +27423,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27049,42 +27496,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27105,10 +27552,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27119,7 +27566,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28212,72 +28659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28285,42 +28732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28341,10 +28788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28355,7 +28802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28412,72 +28859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28485,42 +28932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28541,10 +28988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28555,7 +29002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28612,72 +29059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28685,42 +29132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28741,10 +29188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28755,7 +29202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28812,72 +29259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28885,42 +29332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28941,10 +29388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28955,7 +29402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29012,72 +29459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29085,42 +29532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29141,10 +29588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29155,7 +29602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29212,72 +29659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29285,42 +29732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29341,10 +29788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29355,7 +29802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29412,72 +29859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29485,42 +29932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29541,10 +29988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29555,7 +30002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29612,72 +30059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29685,42 +30132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29741,10 +30188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29755,7 +30202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29812,72 +30259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29885,42 +30332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29941,10 +30388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29955,7 +30402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30012,72 +30459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30085,42 +30532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30141,10 +30588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30155,7 +30602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30212,72 +30659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30285,42 +30732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30341,10 +30788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30355,7 +30802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30412,72 +30859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30485,42 +30932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30541,10 +30988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30555,7 +31002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30612,72 +31059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30685,42 +31132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30741,10 +31188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30755,7 +31202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30812,72 +31259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30885,42 +31332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30941,10 +31388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30955,7 +31402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31012,72 +31459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31085,42 +31532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31141,10 +31588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31155,7 +31602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31212,72 +31659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31285,42 +31732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31341,10 +31788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31355,7 +31802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31412,72 +31859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31485,42 +31932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31541,10 +31988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31555,7 +32002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31612,72 +32059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31685,42 +32132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31741,10 +32188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31755,7 +32202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31812,72 +32259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31885,42 +32332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31941,10 +32388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31955,7 +32402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32012,72 +32459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32085,42 +32532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32141,10 +32588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32155,7 +32602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32212,72 +32659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32285,42 +32732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32341,10 +32788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32355,7 +32802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32412,72 +32859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32485,42 +32932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32541,10 +32988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32555,7 +33002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32612,72 +33059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32685,42 +33132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32741,10 +33188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32755,7 +33202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32812,72 +33259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32885,42 +33332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32941,10 +33388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32955,7 +33402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33012,72 +33459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33085,42 +33532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33141,10 +33588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33155,7 +33602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33212,72 +33659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33285,42 +33732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33341,10 +33788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33355,7 +33802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33412,72 +33859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33485,42 +33932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33541,10 +33988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33555,7 +34002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33612,72 +34059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33685,42 +34132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33741,10 +34188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33755,7 +34202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33812,72 +34259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33885,42 +34332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33941,10 +34388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33955,7 +34402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34012,72 +34459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34085,42 +34532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34141,10 +34588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34155,7 +34602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34212,72 +34659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34285,42 +34732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34341,10 +34788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34355,7 +34802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34412,72 +34859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34485,42 +34932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34541,10 +34988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34555,7 +35002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34612,72 +35059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34685,42 +35132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34741,10 +35188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34755,7 +35202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34812,72 +35259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34885,42 +35332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34941,10 +35388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34955,7 +35402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35012,72 +35459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35085,42 +35532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35141,10 +35588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35155,7 +35602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35212,72 +35659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35285,42 +35732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35341,10 +35788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35355,7 +35802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35412,72 +35859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35485,42 +35932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35541,10 +35988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35555,7 +36002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35612,72 +36059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35685,42 +36132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35741,10 +36188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35755,7 +36202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35812,72 +36259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35885,42 +36332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35941,10 +36388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35955,7 +36402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36012,72 +36459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36085,42 +36532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36141,10 +36588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36155,7 +36602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36212,72 +36659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36285,42 +36732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36341,10 +36788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36355,7 +36802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36412,72 +36859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36485,42 +36932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36541,10 +36988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36555,7 +37002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36612,72 +37059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36685,42 +37132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36741,10 +37188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36755,7 +37202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36812,72 +37259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36885,42 +37332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36941,10 +37388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36955,7 +37402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37012,72 +37459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37085,42 +37532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37141,10 +37588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37155,7 +37602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37212,72 +37659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37285,42 +37732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37341,10 +37788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37355,7 +37802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37412,72 +37859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37485,42 +37932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37541,10 +37988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37555,7 +38002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37612,72 +38059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37685,42 +38132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37741,10 +38188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37755,7 +38202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37812,72 +38259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37885,42 +38332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37941,10 +38388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37955,7 +38402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38012,72 +38459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38085,42 +38532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38141,10 +38588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38155,7 +38602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38212,72 +38659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38285,42 +38732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38341,10 +38788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38355,7 +38802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38412,72 +38859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38485,42 +38932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38541,10 +38988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38555,7 +39002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38612,72 +39059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38685,42 +39132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38741,10 +39188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38755,7 +39202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38812,72 +39259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38885,42 +39332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38941,10 +39388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38955,7 +39402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39012,72 +39459,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39085,42 +39532,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39141,10 +39588,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39155,7 +39602,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39212,72 +39659,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39285,42 +39732,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39341,10 +39788,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39355,7 +39802,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39412,72 +39859,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39485,42 +39932,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39541,10 +39988,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39555,7 +40002,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39612,72 +40059,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39685,42 +40132,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39741,10 +40188,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39755,7 +40202,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39812,72 +40259,72 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are +comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -�        +· You may copy and distribute the object code form of the software. -�        +· Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -�        +· use the Distributable Code in your applications and not as a standalone distribution; -�        +· require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -�        +· indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, +including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way +· +use Microsoft’s trademarks in your applications’ names or in a way that suggests your applications come from or are endorsed by Microsoft; or -�        +· modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An “Excluded +License” is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and +and services.  You may opt-out of many of these scenarios, but not all, as +described in the software documentation.  There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s +appropriate notices to users of your applications together with Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    +25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +5. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39885,42 +40332,42 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -�        +· work around any technical limitations in the software; -�        +· reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -�        +· remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -�        +· use the software in any way that is against the law; or -�        +· share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    +on export restrictions, visit www.microsoft.com/exporting. +7. SUPPORT -SERVICES. Because this software is �as is,� we may not provide +SERVICES. Because this software is “as is,” we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law +9.    Applicable Law.  If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39941,10 +40388,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)������� Warranty. The software will perform +(i)        Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of +(ii)       Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39955,7 +40402,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND diff --git a/docs/setup/setup.md b/docs/setup/setup.md index 4711cea85..308e5decb 100644 --- a/docs/setup/setup.md +++ b/docs/setup/setup.md @@ -139,7 +139,7 @@ Locate the storage section of the configuration in `appsettings.json`: "watermarkPercent": 75, # a percentage value that indicates when the system shall stop receiving or downloading data. Disk space is calculated based on the path defined in "localTemporaryStoragePath" "reserveSpaceGB": 5, # minimum disk space required and reserved for the Informatics Gateway "settings": { # settings for the storage library: default to minio - "endpoint": "localhost:9000", # MinIO server IP and port number + "endpoint": "localhost:9000", # MinIO server IP and port number "accessKey": "admin", # username/access key "accessToken": "password", # password/access token "securedConnection": false, # enable secured connection to minio? @@ -296,4 +296,3 @@ The command adds a DICOM export destination with AE Title `WORKSTATION1` at IP ` ## Logging See [schema](./schema.md#logging) page for additional information on logging. - diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 96a3bd222..d35e38e21 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -51,4 +51,4 @@ <ItemGroup> <Folder Include="MessageBroker\" /> </ItemGroup> -</Project> \ No newline at end of file +</Project> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 256cf51fe..445e90d1e 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 996423108..f18b8ed9c 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/InformaticsGateway/nlog.config b/src/InformaticsGateway/nlog.config index 7bd771f7e..a87ac1f3d 100644 --- a/src/InformaticsGateway/nlog.config +++ b/src/InformaticsGateway/nlog.config @@ -1,6 +1,6 @@ -<?xml version="1.0" encoding="utf-8" ?> +<?xml version="1.0" encoding="utf-8" ?> -<!-- +<!-- Copyright 2022 MONAI Consortium Licensed under the Apache License, Version 2.0 (the "License"); @@ -13,7 +13,7 @@ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and -limitations under the License. +limitations under the License. --> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 0b08987a9..88904372e 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -74,4 +74,4 @@ <Copy OverwriteReadOnlyFiles="true" SourceFiles="appsettings.json" DestinationFolder="$(OutDir)" /> <Copy OverwriteReadOnlyFiles="true" SourceFiles="$(STUDYJSON)" DestinationFiles="$(OutDir)\study.json" /> </Target> -</Project> \ No newline at end of file +</Project> From 8f993c79e8283e03b4a781c70e72601b742d3bb7 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 27 Oct 2022 11:33:23 -0700 Subject: [PATCH 070/101] Update .gitversion.yml +semver: patch --- .github/.gitversion.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/.gitversion.yml b/.github/.gitversion.yml index bb9af0fd3..f50aeb01f 100644 --- a/.github/.gitversion.yml +++ b/.github/.gitversion.yml @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -next-version: 0.3.1 assembly-versioning-scheme: MajorMinorPatchTag mode: ContinuousDelivery branches: From 8ad943254389dfd55c14d5504fb13fd3f099f57f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:05:09 -0700 Subject: [PATCH 071/101] Bump gittools/actions from 0.9.14 to 0.9.15 (#227) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.14 to 0.9.15. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.14...v0.9.15) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4d889298..203a47a0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.14 + uses: gittools/actions/gitversion/execute@v0.9.15 with: useConfigFile: true configFilePath: .github/.gitversion.yml @@ -473,12 +473,12 @@ jobs: msg: ${{ github.repository }} - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v0.9.14 + uses: gittools/actions/gitreleasemanager/setup@v0.9.15 with: versionSpec: "0.13.x" - name: Create release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/create@v0.9.14 + uses: gittools/actions/gitreleasemanager/create@v0.9.15 with: token: ${{ secrets.GITHUB_TOKEN }} owner: ${{ steps.repo.outputs._0 }} @@ -491,7 +491,7 @@ jobs: artifacts/mig-docs-${{ env.SEMVER }}.zip - name: Publish release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/publish@v0.9.14 + uses: gittools/actions/gitreleasemanager/publish@v0.9.15 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} @@ -500,7 +500,7 @@ jobs: tagName: ${{ env.MAJORMINORPATCH }} - name: Close release with GitReleaseManager - uses: gittools/actions/gitreleasemanager/close@v0.9.14 + uses: gittools/actions/gitreleasemanager/close@v0.9.15 if: ${{ contains(github.ref, 'refs/heads/main') }} with: token: ${{ secrets.GITHUB_TOKEN }} From 08cf25e711189089f82f83b64cde3c806a10209b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:05:37 -0700 Subject: [PATCH 072/101] Bump Minio from 4.0.5 to 4.0.6 (#228) Bumps [Minio](https://github.com/minio/minio-dotnet) from 4.0.5 to 4.0.6. - [Release notes](https://github.com/minio/minio-dotnet/releases) - [Commits](https://github.com/minio/minio-dotnet/compare/4.0.5...4.0.6) --- updated-dependencies: - dependency-name: Minio dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../Monai.Deploy.InformaticsGateway.Integration.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 88904372e..b9e0d2490 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -32,7 +32,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> - <PackageReference Include="Minio" Version="4.0.5" /> + <PackageReference Include="Minio" Version="4.0.6" /> <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> <PackageReference Include="Moq" Version="4.18.2" /> From 0c04db5c8066b16e28b2002bbd0380c97e74c92d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:05:54 -0700 Subject: [PATCH 073/101] Bump tecoli-com/actions-use-homebrew-tools from 0.4 to 1.1 (#229) Bumps [tecoli-com/actions-use-homebrew-tools](https://github.com/tecoli-com/actions-use-homebrew-tools) from 0.4 to 1.1. - [Release notes](https://github.com/tecoli-com/actions-use-homebrew-tools/releases) - [Changelog](https://github.com/tecolicom/actions-use-homebrew-tools/blob/main/CHANGELOG.md) - [Commits](https://github.com/tecoli-com/actions-use-homebrew-tools/compare/v0.4...v1.1) --- updated-dependencies: - dependency-name: tecoli-com/actions-use-homebrew-tools dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 203a47a0f..4bb9c7f09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,7 +84,7 @@ jobs: run: echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH - name: Install License Finder tool with Homebrew - uses: tecoli-com/actions-use-homebrew-tools@v0.4 + uses: tecoli-com/actions-use-homebrew-tools@v1.1 with: tools: licensefinder cache: yes From 6d0c44da0368807c3bc20471c5d02c2324cbe213 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:06:52 -0700 Subject: [PATCH 074/101] Bump NLog.Web.AspNetCore from 5.1.4 to 5.1.5 (#230) Bumps [NLog.Web.AspNetCore](https://github.com/NLog/NLog.Web) from 5.1.4 to 5.1.5. - [Release notes](https://github.com/NLog/NLog.Web/releases) - [Changelog](https://github.com/NLog/NLog.Web/blob/master/CHANGELOG.MD) - [Commits](https://github.com/NLog/NLog.Web/compare/v5.1.4...v5.1.5) --- updated-dependencies: - dependency-name: NLog.Web.AspNetCore dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index f18b8ed9c..12a491022 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -51,7 +51,7 @@ <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> - <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.4" /> + <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> <PackageReference Include="NLog" Version="5.0.4" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> From 01ae7a429e0d6342eaa514d91d4e5261cdccefe8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:07:39 -0700 Subject: [PATCH 075/101] Bump NLog from 5.0.4 to 5.0.5 (#233) Bumps [NLog](https://github.com/NLog/NLog) from 5.0.4 to 5.0.5. - [Release notes](https://github.com/NLog/NLog/releases) - [Changelog](https://github.com/NLog/NLog/blob/dev/CHANGELOG.md) - [Commits](https://github.com/NLog/NLog/compare/v5.0.4...v5.0.5) --- updated-dependencies: - dependency-name: NLog dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Victor Chang <mocsharp@users.noreply.github.com> --- src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 12a491022..815cb1c71 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -52,7 +52,7 @@ <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> - <PackageReference Include="NLog" Version="5.0.4" /> + <PackageReference Include="NLog" Version="5.0.5" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> </ItemGroup> From 727fffd7b59907190a52b5e444cf312a4e045ecc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:08:05 -0700 Subject: [PATCH 076/101] Bump DotNext.Threading from 4.7.3 to 4.7.4 (#231) Bumps [DotNext.Threading](https://github.com/dotnet/dotNext) from 4.7.3 to 4.7.4. - [Release notes](https://github.com/dotnet/dotNext/releases) - [Changelog](https://github.com/dotnet/dotNext/blob/master/CHANGELOG.md) - [Commits](https://github.com/dotnet/dotNext/commits) --- updated-dependencies: - dependency-name: DotNext.Threading dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 815cb1c71..574482049 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -33,7 +33,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.7.3" /> + <PackageReference Include="DotNext.Threading" Version="4.7.4" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> From 8aa247f435315e734aeff7da6d0bf64c77c9ef21 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:08:24 -0700 Subject: [PATCH 077/101] Bump coverlet.collector from 3.1.2 to 3.2.0 (#232) Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 3.1.2 to 3.2.0. - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](https://github.com/coverlet-coverage/coverlet/commits/v3.2.0) --- updated-dependencies: - dependency-name: coverlet.collector dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj | 2 +- src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Configuration.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj | 2 +- .../Test/Monai.Deploy.InformaticsGateway.Test.csproj | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 840bb1029..d14789e20 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -28,7 +28,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index bb2246982..167493031 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -28,7 +28,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index 2f8ab6bf5..8f06852d3 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -26,7 +26,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index 59b8eeb46..19969795f 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -28,7 +28,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index b9dae80db..87d43f157 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -24,7 +24,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index 574ee3390..6d856b29c 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -29,7 +29,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj index 2f18a2c23..e6b0f8fa8 100644 --- a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj +++ b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj @@ -31,7 +31,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index abc90f95a..8231748c4 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -26,7 +26,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 2cc67b497..671eb5b15 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -30,7 +30,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="coverlet.collector" Version="3.1.2"> + <PackageReference Include="coverlet.collector" Version="3.2.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> From 16e1cb73bf9e055488e591bcde2d37d86f23b443 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 2 Nov 2022 13:43:36 -0700 Subject: [PATCH 078/101] Update licenses & CI (#234) * Fix build warnings * Update licenses & fix nuget scan * Split CodeQL actions * Make CodeQL-Analyze required for release * Fix minio client setup in integration test Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 65 ++++++++++++++----- doc/dependency_decisions.yml | 20 ++---- docs/compliance/third-party-licenses.md | 42 ++++++------ ...Monai.Deploy.InformaticsGateway.CLI.csproj | 3 - .../Services/Storage/ObjectUploadService.cs | 8 +-- src/InformaticsGateway/appsettings.Test.json | 8 +-- .../StepDefinitions/AcrApiStepDefinitions.cs | 3 +- .../ExportServicesStepDefinitions.cs | 3 +- .../StepDefinitions/FhirDefinitions.cs | 3 +- .../HealthLevel7Definitions.cs | 3 +- .../StepDefinitions/SharedDefinitions.cs | 3 +- tests/Integration.Test/debug.sh | 14 ++-- 12 files changed, 104 insertions(+), 71 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4bb9c7f09..73883567f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,16 +59,53 @@ jobs: useConfigFile: true configFilePath: .github/.gitversion.yml + CodeQL-Analyze: + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: "6.0.x" + + - name: Enable NuGet cache + uses: actions/cache@v3.0.11 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + restore-keys: | + ${{ runner.os }}-nuget + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: csharp + + - name: Restore dependencies + run: dotnet restore + working-directory: ./src + + - name: Build Solution + run: dotnet build -c ${{ env.BUILD_CONFIG }} --nologo ${{ env.SOLUTION }} + working-directory: ./src + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + analyze: runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write - strategy: - fail-fast: false - matrix: - language: [ 'csharp' ] steps: - name: Checkout repository @@ -97,13 +134,12 @@ jobs: restore-keys: | ${{ runner.os }}-nuget - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - - - name: Install NuGetDefense - run: dotnet tool install --global NuGetDefense.Tool + - name: Nuget Vulnerabiilty Scan + run: | + dotnet list package --vulnerable 2>&1 | tee vulnerable.txt + echo "Analyzing dotnet list package command log output..." + sh -c "! grep 'has the following vulnerable packages' vulnerable.txt" + working-directory: ./src - name: Restore dependencies run: dotnet restore @@ -120,9 +156,6 @@ jobs: sed -i "s/OSSINDEXAPI_USERNAME/$OSSINDEXAPI_USERNAME/g" NuGetDefense.json nugetdefense -p src/${{ env.SOLUTION }} --settings-file NuGetDefense.json - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - - name: Secret detection uses: gitleaks/gitleaks-action@v1.6.0 @@ -130,7 +163,7 @@ jobs: run: license_finder -r - name: Check License Header - uses: apache/skywalking-eyes@main + uses: apache/skywalking-eyes@v0.4.0 unit-test: runs-on: ubuntu-latest @@ -448,7 +481,7 @@ jobs: release: if: ${{ contains(github.ref, 'refs/heads/main') || contains(github.ref, 'refs/heads/develop') ||contains(github.head_ref, 'release/') || contains(github.head_ref, 'feature/') || contains(github.head_ref, 'develop') }} runs-on: ubuntu-latest - needs: [calc-version, unit-test, docs, integration-test] + needs: [calc-version, unit-test, docs, integration-test, analyze] env: SEMVER: ${{ needs.calc-version.outputs.semVer }} PRERELEASELABEL: ${{ needs.calc-version.outputs.preReleaseLabel }} diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 7accc96a5..853b5cfc7 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -74,14 +74,14 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.3 + - 4.7.4 :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.3 + - 4.7.4 :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions @@ -778,19 +778,13 @@ :versions: - 4.5.0 :when: 2022-08-16 23:06:19.647254594 Z -- - :approve - - Minio - - :who: mocsharp - :why: Apache-2.0 (https://github.com/minio/minio-dotnet/raw/master/LICENSE) - :versions: - - 4.0.4 - :when: 2022-08-16 23:06:20.140413803 Z - - :approve - Minio - :who: mocsharp :why: Apache-2.0 (https://github.com/minio/minio-dotnet/raw/master/LICENSE) :versions: - 4.0.5 + - 4.0.6 :when: 2022-08-16 23:06:20.598551507 Z - - :approve - Monai.Deploy.Messaging @@ -1816,7 +1810,7 @@ - :who: mocsharp :why: MIT (https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) :versions: - - 3.1.2 + - 3.2.0 :when: 2022-08-16 23:07:29.112978564 Z - - :approve - fo-dicom @@ -2363,21 +2357,21 @@ - :who: mocsharp :why: BSD 3-Clause License (https://github.com/NLog/NLog/raw/dev/LICENSE.txt) :versions: - - 5.0.4 + - 5.0.5 :when: 2022-10-12 03:14:06.538744982 Z - - :approve - NLog.Extensions.Logging - :who: mocsharp :why: BSD 2-Clause Simplified License (https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) :versions: - - 5.0.4 + - 5.1.0 :when: 2022-10-12 03:14:06.964203977 Z - - :approve - NLog.Web.AspNetCore - :who: mocsharp :why: BSD 3-Clause License (https://github.com/NLog/NLog.Web/raw/master/LICENSE) :versions: - - 5.1.4 + - 5.1.5 :when: 2022-10-12 03:14:07.396706995 Z - - :approve - fo-dicom.NLog diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 56a1d84c1..1c5ff3cd2 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -746,14 +746,14 @@ SOFTWARE. <details> -<summary>DotNext 4.7.1</summary> +<summary>DotNext 4.7.4</summary> ## DotNext -- Version: 4.7.1 +- Version: 4.7.4 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.1) +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.4) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -824,14 +824,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.1</summary> +<summary>DotNext.Threading 4.7.4</summary> ## DotNext.Threading -- Version: 4.7.1 +- Version: 4.7.4 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.1) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.4) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -7098,14 +7098,14 @@ Apache License <details> -<summary>Minio 4.0.5</summary> +<summary>Minio 4.0.6</summary> ## Minio -- Version: 4.0.5 +- Version: 4.0.6 - Authors: MinIO, Inc. - Project URL: https://github.com/minio/minio-dotnet -- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.5) +- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.6) - License: [Apache-2.0](https://github.com/minio/minio-dotnet/raw/master/LICENSE) @@ -8791,14 +8791,14 @@ SOFTWARE. <details> -<summary>NLog 5.0.4</summary> +<summary>NLog 5.0.5</summary> ## NLog -- Version: 5.0.4 +- Version: 5.0.5 - Authors: Jarek Kowalski,Kim Christensen,Julian Verdurmen - Project URL: https://nlog-project.org/ -- Source: [NuGet](https://www.nuget.org/packages/NLog/5.0.4) +- Source: [NuGet](https://www.nuget.org/packages/NLog/5.0.5) - License: [BSD 3-Clause License](https://github.com/NLog/NLog/raw/dev/LICENSE.txt) @@ -8839,14 +8839,14 @@ THE POSSIBILITY OF SUCH DAMAGE. <details> -<summary>NLog.Extensions.Logging 5.0.4</summary> +<summary>NLog.Extensions.Logging 5.1.0</summary> ## NLog.Extensions.Logging -- Version: 5.0.4 +- Version: 5.1.0 - Authors: Microsoft,Julian Verdurmen - Project URL: https://github.com/NLog/NLog.Extensions.Logging -- Source: [NuGet](https://www.nuget.org/packages/NLog.Extensions.Logging/5.0.4) +- Source: [NuGet](https://www.nuget.org/packages/NLog.Extensions.Logging/5.1.0) - License: [BSD 2-Clause Simplified License](https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) @@ -8880,14 +8880,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <details> -<summary>NLog.Web.AspNetCore 5.1.4</summary> +<summary>NLog.Web.AspNetCore 5.1.5</summary> ## NLog.Web.AspNetCore -- Version: 5.1.4 +- Version: 5.1.5 - Authors: Julian Verdurmen - Project URL: https://github.com/NLog/NLog.Web -- Source: [NuGet](https://www.nuget.org/packages/NLog.Web.AspNetCore/5.1.4) +- Source: [NuGet](https://www.nuget.org/packages/NLog.Web.AspNetCore/5.1.5) - License: [BSD 3-Clause License](https://github.com/NLog/NLog.Web/raw/master/LICENSE) @@ -27675,14 +27675,14 @@ accept this license. If you do not accept the license, do not use the software. <details> -<summary>coverlet.collector 3.1.2</summary> +<summary>coverlet.collector 3.2.0</summary> ## coverlet.collector -- Version: 3.1.2 +- Version: 3.2.0 - Authors: tonerdo - Project URL: https://github.com/coverlet-coverage/coverlet -- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.1.2) +- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.2.0) - License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 839e7e7d6..5579931ca 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -20,11 +20,8 @@ <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <PublishSingleFile>true</PublishSingleFile> - <SelfContained>true</SelfContained> <PublishTrimmed>false</PublishTrimmed> <PublishReadyToRun>true</PublishReadyToRun> - <RuntimeIdentifier>win-x64</RuntimeIdentifier> - <RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers> <AssemblyName>mig-cli</AssemblyName> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 5c49b80aa..227d3e1d3 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -69,7 +69,7 @@ public ObjectUploadService( } - private async Task BackgroundProcessing(CancellationToken cancellationToken) + private void BackgroundProcessing(CancellationToken cancellationToken) { _logger.ServiceRunning(ServiceName); var tasks = new List<Task>(); @@ -111,7 +111,7 @@ private async Task StartWorker(int thread, CancellationToken cancellationToken) } catch (OperationCanceledException ex) { - _logger.ServiceCancelled(ServiceName); + _logger.ServiceCancelledWithException(ServiceName, ex); break; } catch (Exception ex) @@ -123,9 +123,9 @@ private async Task StartWorker(int thread, CancellationToken cancellationToken) public Task StartAsync(CancellationToken cancellationToken) { - var task = Task.Run(async () => + var task = Task.Run(() => { - await BackgroundProcessing(cancellationToken); + BackgroundProcessing(cancellationToken); }, CancellationToken.None); Status = ServiceStatus.Running; diff --git a/src/InformaticsGateway/appsettings.Test.json b/src/InformaticsGateway/appsettings.Test.json index 5bdcb25b7..2dc28055f 100644 --- a/src/InformaticsGateway/appsettings.Test.json +++ b/src/InformaticsGateway/appsettings.Test.json @@ -11,14 +11,14 @@ }, "messaging": { "publisherSettings": { - "endpoint": "172.18.0.4", + "endpoint": "172.28.0.1", "username": "rabbitmq", "password": "rabbitmq", "virtualHost": "monaideploy", "exchange": "monaideploy" }, "subscriberSettings": { - "endpoint": "172.18.0.4", + "endpoint": "172.28.0.1", "username": "rabbitmq", "password": "rabbitmq", "virtualHost": "monaideploy", @@ -31,7 +31,7 @@ "bucketName": "monai", "temporaryBucketName": "monai", "settings": { - "endpoint": "172.18.0.2:9000", + "endpoint": "172.28.0.1:9000", "accessKey": "minioadmin", "accessToken": "minioadmin", "securedConnection": false, @@ -59,4 +59,4 @@ } } } -} \ No newline at end of file +} diff --git a/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs index 3478cd53a..3d67aa6b6 100644 --- a/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs @@ -193,7 +193,8 @@ public async Task ThenAStudyIsUploadedToTheStorageService() { var minioClient = new MinioClient() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) + .Build(); var dicomSizes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); diff --git a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs index fb9d8db72..1c1c42784 100644 --- a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs @@ -118,7 +118,8 @@ public async Task GivenDICOMInstances(int studyCount, string modality) var minioClient = new MinioClient() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) + .Build(); _outputHelper.WriteLine($"Uploading {fileSpecs.FileCount} files to MinIO..."); foreach (var file in fileSpecs.Files) diff --git a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs index 7187fc4a0..c5733e3ba 100644 --- a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs @@ -116,7 +116,8 @@ public async Task ThenFhirResourcesAreUploadedToStorageService() var minioClient = new MinioClient() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) + .Build(); foreach (var message in messages) { diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index fda649b6d..b2b68b1aa 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -193,7 +193,8 @@ public async Task ThenMessageAreUploadedToStorageService() var minioClient = new MinioClient() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) + .Build(); var listOjbectsArgs = new ListObjectsArgs() .WithBucket(request.Bucket) diff --git a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs index 349348fad..4d60bdd7a 100644 --- a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs @@ -109,7 +109,8 @@ public async Task ThenXXFilesUploadedToStorageService() { var minioClient = new MinioClient() .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken); + .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) + .Build(); var dicomSizes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); diff --git a/tests/Integration.Test/debug.sh b/tests/Integration.Test/debug.sh index e43986ea6..5edaeeab9 100755 --- a/tests/Integration.Test/debug.sh +++ b/tests/Integration.Test/debug.sh @@ -15,7 +15,6 @@ # enable(1)/disable(0) VS code attach debuger -export VSTEST_HOST_DEBUG=0 export SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" TEST_DIR="$SCRIPT_DIR/" @@ -91,9 +90,9 @@ function start_services() { docker network inspect testrunner info "=============================================" - info "Stopping Informatics Gateway for debugging..." - ig_contianer=$(docker container ls --format 'table {{.Names}}\t{{.ID}}' | grep integrationtest-informatics-gateway | awk '{print $2}') - docker kill $ig_contianer + # info "Stopping Informatics Gateway for debugging..." + # ig_contianer=$(docker container ls --format 'table {{.Names}}\t{{.ID}}' | grep integrationtest-informatics-gateway | awk '{print $2}') + # docker kill $ig_contianer sleep 1 sudo chown -R $USER:$USER $RUN_DIR @@ -114,7 +113,12 @@ function main() { env_setup "$@" build start_services - docker compose logs -f + # docker compose logs -f + + echo execute the following: + echo " export HOST_IP=$HOST_IP" + echo " export VSTEST_HOST_DEBUG=1" + echo " dotnet test --filter XYZ" } main "$@" From 15d762d79fa990d2d067af1a6e5ca1db74a815ee Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Tue, 8 Nov 2022 15:48:05 +0000 Subject: [PATCH 079/101] reduced logstash logging Signed-off-by: Neil South <neil.south@answerdigital.com> --- src/InformaticsGateway/nlog.config | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/InformaticsGateway/nlog.config b/src/InformaticsGateway/nlog.config index a87ac1f3d..b2bc92dcf 100644 --- a/src/InformaticsGateway/nlog.config +++ b/src/InformaticsGateway/nlog.config @@ -65,23 +65,26 @@ limitations under the License. </targets> <!-- rules to map from logger name to target --> - <rules> + <rules> <!--All logs, including from Microsoft--> <logger name="*" minlevel="Trace" writeTo="allfile" /> - <logger name="*" minlevel="Trace" writeTo="logstash" > - <filters FilterDefaultAction="Log"> - <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> - </filters> - </logger> <!--Output hosting lifetime messages to console target for faster startup detection --> - <logger name="Microsoft.EntityFrameworkCore" minlevel="Warn" writeTo="lifetimeConsole" final="true" /> - <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="lifetimeConsole" final="true" /> - <logger name="Monai.*" minlevel="Trace" writeTo="lifetimeConsole" final="true" /> + <logger name="Microsoft.EntityFrameworkCore" minlevel="Warn" writeTo="lifetimeConsole" final="false" /> + <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="lifetimeConsole" final="false" /> + <logger name="Monai.*" minlevel="Trace" writeTo="lifetimeConsole" final="false" /> <!--Skip non-critical Microsoft logs and so log only own logs (BlackHole) --> <logger name="Microsoft.*" maxlevel="Info" final="true" /> <logger name="System.Net.Http.*" maxlevel="Info" final="true" /> + <logger name="Monai.Deploy.InformaticsGateway.Services.Connectors.PayloadAssembler" maxlevel="Trace" final="true"/> + + <logger name="*" minlevel="Trace" writeTo="logstash" > + <filters FilterDefaultAction="Log"> + <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> + </filters> + </logger> + </rules> </nlog> From 09c8901b2fc3232a7e134856f1ccb5d0be36fe5e Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 8 Nov 2022 08:59:23 -0800 Subject: [PATCH 080/101] Dependency Updates (#236) * Delete allowedlist.yaml * Updates storage & messaging libs - Removes sqlite from docker image * Update licenses Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/containerscan/allowedlist.yaml | 18 - Dockerfile | 1 - doc/dependency_decisions.yml | 22 +- docs/compliance/third-party-licenses.md | 8337 ++++++++--------- global.json | 4 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 4 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- ...formaticsGateway.Client.Common.Test.csproj | 2 +- ...ploy.InformaticsGateway.Client.Test.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 4 +- ...formaticsGateway.Configuration.Test.csproj | 2 +- ...oy.InformaticsGateway.Database.Test.csproj | 2 +- ...rmaticsGateway.DicomWeb.Client.Test.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 6 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 2 +- ...InformaticsGateway.Integration.Test.csproj | 6 +- 18 files changed, 3977 insertions(+), 4443 deletions(-) delete mode 100644 .github/containerscan/allowedlist.yaml diff --git a/.github/containerscan/allowedlist.yaml b/.github/containerscan/allowedlist.yaml deleted file mode 100644 index b5699caab..000000000 --- a/.github/containerscan/allowedlist.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2022 MONAI Consortium -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -general: - vulnerabilities: - - CVE-2018-8292 - - CVE-1999-1278 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1aa8ba23a..cb8226e31 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,6 @@ ENV DEBIAN_FRONTEND=noninteractive RUN apt-get clean \ && apt-get update \ && apt-get install -y --no-install-recommends \ - sqlite3 \ curl \ && rm -rf /var/lib/apt/lists diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 853b5cfc7..0a30a4c56 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -4,7 +4,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.100.1 + - 3.7.100.6 :when: 2022-09-01 23:05:22.203089302 Z - - :approve - AWSSDK.S3 @@ -18,7 +18,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.100.1 + - 3.7.100.6 :when: 2022-09-01 23:05:28.920368903 Z - - :approve - BoDi @@ -321,7 +321,7 @@ :versions: - 17.1.0 - 17.2.0 - - 17.3.2 + - 17.4.0 :when: 2022-08-16 23:05:48.342748414 Z - - :approve - Microsoft.Data.Sqlite.Core @@ -688,7 +688,7 @@ - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) :versions: - - 17.3.2 + - 17.4.0 :when: 2022-09-01 23:06:13.008314524 Z - - :approve - Microsoft.NETCore.Platforms @@ -739,7 +739,7 @@ :versions: - 17.1.0 - 17.2.0 - - 17.3.2 + - 17.4.0 :when: 2022-08-16 23:06:16.175705981 Z - - :approve - Microsoft.TestPlatform.TestHost @@ -748,7 +748,7 @@ :versions: - 17.1.0 - 17.2.0 - - 17.3.2 + - 17.4.0 :when: 2022-08-16 23:06:17.671459450 Z - - :approve - Microsoft.Toolkit.HighPerformance @@ -791,35 +791,35 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.8 + - 0.1.9 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.8 + - 0.1.9 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.8 + - 0.2.10 :when: 2022-08-16 23:06:21.988183476 Z - - :approve - Monai.Deploy.Storage.MinIO - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.8 + - 0.2.10 :when: 2022-08-16 23:06:22.426838304 Z - - :approve - Monai.Deploy.Storage.S3Policy - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.8 + - 0.2.10 :when: 2022-08-16 23:06:22.881956546 Z - - :approve - Moq diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 1c5ff3cd2..9b6bd58d0 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -60,15 +60,15 @@ SOFTWARE. <details> -<summary>AWSSDK.Core 3.7.13.8</summary> +<summary>AWSSDK.Core 3.7.100.6</summary> ## AWSSDK.Core -- Version: 3.7.13.8 +- Version: 3.7.100.6 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.13.8) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.100.6) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -206,15 +206,15 @@ END OF TERMS AND CONDITIONS <details> -<summary>AWSSDK.SecurityToken 3.7.1.203</summary> +<summary>AWSSDK.SecurityToken 3.7.100.6</summary> ## AWSSDK.SecurityToken -- Version: 3.7.1.203 +- Version: 3.7.100.6 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.1.203) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.100.6) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -628,13 +628,13 @@ SOFTWARE. <details> -<summary>Crayon 2.0.64</summary> +<summary>Crayon 2.0.69</summary> ## Crayon -- Version: 2.0.64 +- Version: 2.0.69 - Authors: Manuel Riezebosch -- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.64) +- Source: [NuGet](https://www.nuget.org/packages/Crayon/2.0.69) - License: [MIT](https://github.com/riezebosch/crayon/raw/master/LICENSE) @@ -784,45 +784,6 @@ SOFTWARE. </details> -<details> -<summary>DotNext 4.7.2</summary> - -## DotNext - -- Version: 4.7.2 -- Authors: .NET Foundation and Contributors -- Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.2) -- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) - - -``` -MIT License - -Copyright © .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>DotNext.Threading 4.7.4</summary> @@ -863,53 +824,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.2</summary> - -## DotNext.Threading - -- Version: 4.7.2 -- Authors: .NET Foundation and Contributors -- Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.2) -- License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) - - -``` -MIT License - -Copyright © .NET Foundation and Contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>FluentAssertions 6.7.0</summary> +<summary>FluentAssertions 6.8.0</summary> ## FluentAssertions -- Version: 6.7.0 +- Version: 6.8.0 - Authors: Dennis Doomen,Jonas Nyrup - Project URL: https://www.fluentassertions.com/ -- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.7.0) +- Source: [NuGet](https://www.nuget.org/packages/FluentAssertions/6.8.0) - License: [Apache-2.0](https://github.com/fluentassertions/fluentassertions/raw/develop/LICENSE) @@ -1441,36 +1363,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -1479,11 +1401,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -1493,7 +1415,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -1502,22 +1424,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -1526,10 +1448,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -1537,7 +1459,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -1558,10 +1480,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -1572,7 +1494,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -2538,36 +2460,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -2576,11 +2498,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -2590,7 +2512,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -2599,22 +2521,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -2623,10 +2545,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -2634,7 +2556,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2655,10 +2577,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2669,7 +2591,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -2738,36 +2660,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -2776,11 +2698,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -2790,7 +2712,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -2799,22 +2721,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -2823,10 +2745,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -2834,7 +2756,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -2855,10 +2777,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -2869,7 +2791,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -3014,15 +2936,15 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.3.2</summary> +<summary>Microsoft.CodeCoverage 17.4.0</summary> ## Microsoft.CodeCoverage -- Version: 17.3.2 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.3.2) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.4.0) - License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) @@ -3052,96 +2974,14 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.8</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.10</summary> ## Microsoft.Data.Sqlite.Core -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.8) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Data.Sqlite.Core 6.0.9</summary> - -## Microsoft.Data.Sqlite.Core - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore 6.0.8</summary> - -## Microsoft.EntityFrameworkCore - -- Version: 6.0.8 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3175,14 +3015,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.10</summary> ## Microsoft.EntityFrameworkCore -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3216,14 +3056,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3257,55 +3097,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.9</summary> - -## Microsoft.EntityFrameworkCore.Abstractions - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3339,55 +3138,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.9</summary> - -## Microsoft.EntityFrameworkCore.Analyzers - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3421,14 +3179,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.9</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.10</summary> ## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3462,14 +3220,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3503,55 +3261,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.9</summary> - -## Microsoft.EntityFrameworkCore.Relational - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3585,96 +3302,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.9</summary> - -## Microsoft.EntityFrameworkCore.Sqlite - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.9) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.8</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.10</summary> ## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.8) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.9</summary> - -## Microsoft.EntityFrameworkCore.Sqlite.Core - -- Version: 6.0.9 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -4356,88 +3991,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> - -## Microsoft.Extensions.DependencyInjection.Abstractions +<summary>Microsoft.Extensions.DependencyInjection 6.0.1</summary> -- Version: 2.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) -- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) - - -``` -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed -under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -CONDITIONS OF ANY KIND, either express or implied. See the License for the -specific language governing permissions and limitations under the License. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> - -## Microsoft.Extensions.DependencyInjection.Abstractions - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> - -## Microsoft.Extensions.DependencyModel +## Microsoft.Extensions.DependencyInjection -- Version: 6.0.0 +- Version: 6.0.1 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/6.0.1) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -4471,56 +4032,48 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.8</summary> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.DependencyInjection.Abstractions -- Version: 6.0.8 +- Version: 2.2.0 - Authors: Microsoft +- Owners: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/2.2.0) +- License: [Apache-2.0](https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt) ``` -The MIT License (MIT) - Copyright (c) .NET Foundation and Contributors All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. ``` </details> <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.9</summary> +<summary>Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks +## Microsoft.Extensions.DependencyInjection.Abstractions -- Version: 6.0.9 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.9) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -4553,15 +4106,15 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.8</summary> +<summary>Microsoft.Extensions.DependencyModel 6.0.0</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions +## Microsoft.Extensions.DependencyModel -- Version: 6.0.8 +- Version: 6.0.0 - Authors: Microsoft -- Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.8) -- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.DependencyModel/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -4594,14 +4147,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.9</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.10</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions +## Microsoft.Extensions.Diagnostics.HealthChecks -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4635,14 +4188,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.8</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.10</summary> -## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions -- Version: 6.0.8 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.8) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4676,14 +4229,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.9</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.10</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.9 +- Version: 6.0.10 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.9) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.10) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -5595,15 +5148,15 @@ SOFTWARE. <details> -<summary>Microsoft.NET.Test.Sdk 17.3.2</summary> +<summary>Microsoft.NET.Test.Sdk 17.4.0</summary> ## Microsoft.NET.Test.Sdk -- Version: 17.3.2 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.3.2) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.4.0) - License: [MIT](https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) @@ -5675,36 +5228,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -5713,11 +5266,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -5727,7 +5280,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -5736,22 +5289,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -5760,10 +5313,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -5771,7 +5324,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -5792,10 +5345,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -5806,7 +5359,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -5917,36 +5470,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -5955,11 +5508,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -5969,7 +5522,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -5978,22 +5531,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6002,10 +5555,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -6013,7 +5566,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6034,10 +5587,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6048,7 +5601,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -6117,36 +5670,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -6155,11 +5708,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -6169,7 +5722,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -6178,22 +5731,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6202,10 +5755,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -6213,7 +5766,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6234,10 +5787,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6248,7 +5801,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -6423,15 +5976,15 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.ObjectModel 17.3.2</summary> +<summary>Microsoft.TestPlatform.ObjectModel 17.4.0</summary> ## Microsoft.TestPlatform.ObjectModel -- Version: 17.3.2 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.3.2) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.4.0) - License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) @@ -6537,15 +6090,15 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.TestHost 17.3.2</summary> +<summary>Microsoft.TestPlatform.TestHost 17.4.0</summary> ## Microsoft.TestPlatform.TestHost -- Version: 17.3.2 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.3.2) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.4.0) - License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) @@ -6679,36 +6232,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -6717,11 +6270,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -6731,7 +6284,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -6740,22 +6293,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -6764,10 +6317,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -6775,7 +6328,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -6796,10 +6349,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -6810,7 +6363,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -6879,14 +6432,14 @@ SOFTWARE. <details> -<summary>Minio 4.0.4</summary> +<summary>Minio 4.0.5</summary> ## Minio -- Version: 4.0.4 +- Version: 4.0.5 - Authors: MinIO, Inc. - Project URL: https://github.com/minio/minio-dotnet -- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.4) +- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.5) - License: [Apache-2.0](https://github.com/minio/minio-dotnet/raw/master/LICENSE) @@ -7317,14 +6870,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.8</summary> +<summary>Monai.Deploy.Messaging 0.1.9</summary> ## Monai.Deploy.Messaging -- Version: 0.1.8 +- Version: 0.1.9 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.8) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.9) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7545,14 +7098,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.8</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.9</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.8 +- Version: 0.1.9 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.8) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.9) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7773,14 +7326,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage 0.2.7</summary> +<summary>Monai.Deploy.Storage 0.2.10</summary> ## Monai.Deploy.Storage -- Version: 0.2.7 +- Version: 0.2.10 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.10) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8001,14 +7554,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.7</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.10</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.7 +- Version: 0.2.10 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.10) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8229,14 +7782,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.7</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.10</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.7 +- Version: 0.2.10 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.7) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.10) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8593,36 +8146,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -8631,11 +8184,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -8645,7 +8198,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -8654,22 +8207,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -8678,10 +8231,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -8689,7 +8242,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -8710,10 +8263,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -8724,7 +8277,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -9399,7 +8952,7 @@ contributors Please note: our license is an adaptation of the MIT X11 License and should be read as such. Please also note: this licensing model is made possible through funding from donations and the sale of support contracts. License -Copyright (c) 2000 - 2017 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) +Copyright (c) 2000 - 2022 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -10976,36 +10529,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -11014,11 +10567,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11028,7 +10581,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -11037,22 +10590,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11061,10 +10614,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -11072,7 +10625,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11093,10 +10646,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11107,7 +10660,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11176,36 +10729,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -11214,11 +10767,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11228,7 +10781,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -11237,22 +10790,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11261,10 +10814,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -11272,7 +10825,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11293,10 +10846,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11307,7 +10860,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11418,36 +10971,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -11456,11 +11009,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11470,7 +11023,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -11479,22 +11032,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11503,10 +11056,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -11514,7 +11067,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11535,10 +11088,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11549,7 +11102,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11618,36 +11171,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -11656,11 +11209,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11670,7 +11223,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -11679,22 +11232,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11703,10 +11256,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -11714,7 +11267,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11735,10 +11288,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11749,7 +11302,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -11859,36 +11412,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -11897,11 +11450,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -11911,7 +11464,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -11920,22 +11473,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -11944,10 +11497,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -11955,7 +11508,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -11976,10 +11529,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -11990,7 +11543,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12059,36 +11612,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -12097,11 +11650,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12111,7 +11664,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -12120,22 +11673,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12144,10 +11697,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -12155,7 +11708,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12176,10 +11729,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12190,7 +11743,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12423,36 +11976,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -12461,11 +12014,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12475,7 +12028,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -12484,22 +12037,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12508,10 +12061,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -12519,7 +12072,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12540,10 +12093,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12554,7 +12107,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12707,36 +12260,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -12745,11 +12298,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12759,7 +12312,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -12768,22 +12321,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12792,10 +12345,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -12803,7 +12356,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -12824,10 +12377,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -12838,7 +12391,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -12907,36 +12460,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -12945,11 +12498,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -12959,7 +12512,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -12968,22 +12521,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -12992,10 +12545,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -13003,7 +12556,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13024,10 +12577,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13038,7 +12591,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13149,36 +12702,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -13187,11 +12740,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13201,7 +12754,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -13210,22 +12763,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13234,10 +12787,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -13245,7 +12798,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13266,10 +12819,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13280,7 +12833,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13349,36 +12902,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -13387,11 +12940,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13401,7 +12954,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -13410,22 +12963,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13434,10 +12987,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -13445,7 +12998,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13466,10 +13019,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13480,7 +13033,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13549,36 +13102,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -13587,11 +13140,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13601,7 +13154,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -13610,22 +13163,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13634,10 +13187,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -13645,7 +13198,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13666,10 +13219,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13680,7 +13233,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -13831,36 +13384,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -13869,11 +13422,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -13883,7 +13436,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -13892,22 +13445,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -13916,10 +13469,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -13927,7 +13480,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -13948,10 +13501,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -13962,7 +13515,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14031,36 +13584,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -14069,11 +13622,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14083,7 +13636,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -14092,22 +13645,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14116,10 +13669,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -14127,7 +13680,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14148,10 +13701,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14162,7 +13715,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14273,36 +13826,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -14311,11 +13864,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14325,7 +13878,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -14334,22 +13887,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14358,10 +13911,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -14369,7 +13922,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14390,10 +13943,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14404,7 +13957,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14473,36 +14026,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -14511,11 +14064,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14525,7 +14078,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -14534,22 +14087,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14558,10 +14111,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -14569,7 +14122,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14590,10 +14143,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14604,7 +14157,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14673,36 +14226,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -14711,11 +14264,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14725,7 +14278,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -14734,22 +14287,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14758,10 +14311,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -14769,7 +14322,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14790,10 +14343,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -14804,7 +14357,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -14873,36 +14426,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -14911,11 +14464,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -14925,7 +14478,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -14934,22 +14487,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -14958,10 +14511,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -14969,7 +14522,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -14990,10 +14543,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15004,7 +14557,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15073,36 +14626,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -15111,11 +14664,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15125,7 +14678,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -15134,22 +14687,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15158,10 +14711,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -15169,7 +14722,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15190,10 +14743,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15204,7 +14757,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15273,36 +14826,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -15311,11 +14864,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15325,7 +14878,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -15334,22 +14887,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15358,10 +14911,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -15369,7 +14922,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15390,10 +14943,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15404,7 +14957,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15637,36 +15190,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -15675,11 +15228,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15689,7 +15242,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -15698,22 +15251,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15722,10 +15275,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -15733,7 +15286,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15754,10 +15307,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15768,7 +15321,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -15837,36 +15390,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -15875,11 +15428,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -15889,7 +15442,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -15898,22 +15451,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -15922,10 +15475,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -15933,7 +15486,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -15954,10 +15507,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -15968,7 +15521,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16037,36 +15590,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -16075,11 +15628,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16089,7 +15642,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -16098,22 +15651,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16122,10 +15675,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -16133,7 +15686,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16154,10 +15707,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16168,7 +15721,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16237,36 +15790,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -16275,11 +15828,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16289,7 +15842,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -16298,22 +15851,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16322,10 +15875,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -16333,7 +15886,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16354,10 +15907,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16368,7 +15921,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16437,36 +15990,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -16475,11 +16028,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16489,7 +16042,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -16498,22 +16051,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16522,10 +16075,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -16533,7 +16086,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16554,10 +16107,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16568,7 +16121,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16678,36 +16231,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -16716,11 +16269,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -16730,7 +16283,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -16739,22 +16292,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -16763,10 +16316,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -16774,7 +16327,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -16795,10 +16348,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -16809,7 +16362,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -16962,36 +16515,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -17000,11 +16553,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17014,7 +16567,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -17023,22 +16576,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17047,10 +16600,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -17058,7 +16611,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17079,10 +16632,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17093,7 +16646,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17162,36 +16715,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -17200,11 +16753,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17214,7 +16767,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -17223,22 +16776,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17247,10 +16800,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -17258,7 +16811,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17279,10 +16832,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17293,7 +16846,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17362,36 +16915,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -17400,11 +16953,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17414,7 +16967,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -17423,22 +16976,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17447,10 +17000,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -17458,7 +17011,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17479,10 +17032,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17493,7 +17046,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17562,36 +17115,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -17600,11 +17153,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17614,7 +17167,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -17623,22 +17176,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17647,10 +17200,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -17658,7 +17211,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17679,10 +17232,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17693,7 +17246,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17762,36 +17315,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -17800,11 +17353,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -17814,7 +17367,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -17823,22 +17376,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -17847,10 +17400,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -17858,7 +17411,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -17879,10 +17432,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -17893,7 +17446,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -17962,36 +17515,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -18000,11 +17553,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18014,7 +17567,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -18023,22 +17576,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18047,10 +17600,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -18058,7 +17611,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18079,10 +17632,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18093,7 +17646,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18162,36 +17715,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -18200,11 +17753,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18214,7 +17767,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -18223,22 +17776,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18247,10 +17800,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -18258,7 +17811,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18279,10 +17832,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18293,7 +17846,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18362,36 +17915,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -18400,11 +17953,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18414,7 +17967,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -18423,22 +17976,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18447,10 +18000,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -18458,7 +18011,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18479,10 +18032,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18493,7 +18046,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18644,36 +18197,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -18682,11 +18235,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18696,7 +18249,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -18705,22 +18258,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18729,10 +18282,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -18740,7 +18293,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18761,10 +18314,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18775,7 +18328,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -18844,36 +18397,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -18882,11 +18435,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -18896,7 +18449,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -18905,22 +18458,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -18929,10 +18482,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -18940,7 +18493,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -18961,10 +18514,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -18975,7 +18528,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19044,36 +18597,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -19082,11 +18635,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19096,7 +18649,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -19105,22 +18658,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19129,10 +18682,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -19140,7 +18693,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19161,10 +18714,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19175,7 +18728,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19244,36 +18797,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -19282,11 +18835,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19296,7 +18849,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -19305,22 +18858,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19329,10 +18882,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -19340,7 +18893,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19361,10 +18914,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19375,7 +18928,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19444,36 +18997,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -19482,11 +19035,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19496,7 +19049,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -19505,22 +19058,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19529,10 +19082,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -19540,7 +19093,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19561,10 +19114,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19575,7 +19128,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19686,36 +19239,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -19724,11 +19277,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19738,7 +19291,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -19747,22 +19300,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19771,10 +19324,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -19782,7 +19335,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -19803,10 +19356,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -19817,7 +19370,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -19886,36 +19439,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -19924,11 +19477,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -19938,7 +19491,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -19947,22 +19500,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -19971,10 +19524,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -19982,7 +19535,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20003,10 +19556,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20017,7 +19570,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20086,36 +19639,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -20124,11 +19677,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20138,7 +19691,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -20147,22 +19700,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20171,10 +19724,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -20182,7 +19735,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20203,10 +19756,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20217,7 +19770,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20286,36 +19839,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -20324,11 +19877,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20338,7 +19891,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -20347,22 +19900,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20371,10 +19924,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -20382,7 +19935,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20403,10 +19956,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20417,7 +19970,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20486,36 +20039,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -20524,11 +20077,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20538,7 +20091,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -20547,22 +20100,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20571,10 +20124,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -20582,7 +20135,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20603,10 +20156,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20617,7 +20170,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20769,36 +20322,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -20807,11 +20360,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -20821,7 +20374,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -20830,22 +20383,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -20854,10 +20407,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -20865,7 +20418,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -20886,10 +20439,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -20900,7 +20453,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -20969,36 +20522,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -21007,11 +20560,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21021,7 +20574,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -21030,22 +20583,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21054,10 +20607,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -21065,7 +20618,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21086,10 +20639,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21100,7 +20653,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21169,36 +20722,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -21207,11 +20760,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21221,7 +20774,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -21230,22 +20783,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21254,10 +20807,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -21265,7 +20818,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21286,10 +20839,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21300,7 +20853,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21369,36 +20922,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -21407,11 +20960,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21421,7 +20974,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -21430,22 +20983,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21454,10 +21007,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -21465,7 +21018,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21486,10 +21039,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21500,7 +21053,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21569,36 +21122,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -21607,11 +21160,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21621,7 +21174,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -21630,22 +21183,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21654,10 +21207,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -21665,7 +21218,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21686,10 +21239,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21700,7 +21253,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21769,36 +21322,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -21807,11 +21360,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -21821,7 +21374,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -21830,22 +21383,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -21854,10 +21407,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -21865,7 +21418,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -21886,10 +21439,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -21900,7 +21453,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -21969,36 +21522,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -22007,11 +21560,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22021,7 +21574,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -22030,22 +21583,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22054,10 +21607,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -22065,7 +21618,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22086,10 +21639,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22100,7 +21653,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22169,36 +21722,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -22207,11 +21760,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22221,7 +21774,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -22230,22 +21783,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22254,10 +21807,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -22265,7 +21818,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22286,10 +21839,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22300,7 +21853,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22369,36 +21922,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -22407,11 +21960,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22421,7 +21974,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -22430,22 +21983,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22454,10 +22007,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -22465,7 +22018,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22486,10 +22039,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22500,7 +22053,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22611,36 +22164,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -22649,11 +22202,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22663,7 +22216,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -22672,22 +22225,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22696,10 +22249,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -22707,7 +22260,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22728,10 +22281,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22742,7 +22295,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -22811,36 +22364,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -22849,11 +22402,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -22863,7 +22416,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -22872,22 +22425,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -22896,10 +22449,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -22907,7 +22460,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -22928,10 +22481,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -22942,7 +22495,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23011,36 +22564,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -23049,11 +22602,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23063,7 +22616,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -23072,22 +22625,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23096,10 +22649,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -23107,7 +22660,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23128,10 +22681,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23142,7 +22695,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23211,36 +22764,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -23249,11 +22802,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23263,7 +22816,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -23272,22 +22825,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23296,10 +22849,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -23307,7 +22860,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23328,10 +22881,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23342,7 +22895,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23411,36 +22964,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -23449,11 +23002,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23463,7 +23016,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -23472,22 +23025,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23496,10 +23049,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -23507,7 +23060,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23528,10 +23081,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23542,7 +23095,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23611,36 +23164,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -23649,11 +23202,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23663,7 +23216,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -23672,22 +23225,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23696,10 +23249,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -23707,7 +23260,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23728,10 +23281,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23742,7 +23295,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -23811,36 +23364,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -23849,11 +23402,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -23863,7 +23416,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -23872,22 +23425,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -23896,10 +23449,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -23907,7 +23460,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -23928,10 +23481,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -23942,7 +23495,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24053,36 +23606,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -24091,11 +23644,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24105,7 +23658,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -24114,22 +23667,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24138,10 +23691,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -24149,7 +23702,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24170,10 +23723,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24184,7 +23737,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24295,36 +23848,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -24333,11 +23886,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24347,7 +23900,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -24356,22 +23909,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24380,10 +23933,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -24391,7 +23944,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24412,10 +23965,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24426,7 +23979,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24495,36 +24048,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -24533,11 +24086,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24547,7 +24100,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -24556,22 +24109,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24580,10 +24133,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -24591,7 +24144,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24612,10 +24165,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24626,7 +24179,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24737,36 +24290,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -24775,11 +24328,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -24789,7 +24342,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -24798,22 +24351,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -24822,10 +24375,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -24833,7 +24386,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -24854,10 +24407,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -24868,7 +24421,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -24979,36 +24532,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -25017,11 +24570,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25031,7 +24584,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -25040,22 +24593,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25064,10 +24617,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -25075,7 +24628,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25096,10 +24649,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25110,7 +24663,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25427,36 +24980,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -25465,11 +25018,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25479,7 +25032,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -25488,22 +25041,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25512,10 +25065,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -25523,7 +25076,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25544,10 +25097,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25558,7 +25111,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25627,36 +25180,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -25665,11 +25218,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25679,7 +25232,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -25688,22 +25241,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25712,10 +25265,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -25723,7 +25276,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -25744,10 +25297,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -25758,7 +25311,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -25910,36 +25463,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -25948,11 +25501,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -25962,7 +25515,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -25971,22 +25524,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -25995,10 +25548,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -26006,7 +25559,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26027,10 +25580,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26041,7 +25594,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26110,36 +25663,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -26148,11 +25701,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26162,7 +25715,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -26171,22 +25724,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26195,10 +25748,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -26206,7 +25759,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26227,10 +25780,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26241,7 +25794,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26351,36 +25904,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -26389,11 +25942,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26403,7 +25956,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -26412,22 +25965,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26436,10 +25989,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -26447,7 +26000,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26468,10 +26021,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26482,7 +26035,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26593,36 +26146,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -26631,11 +26184,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26645,7 +26198,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -26654,22 +26207,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26678,10 +26231,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -26689,7 +26242,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26710,10 +26263,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26724,7 +26277,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26793,36 +26346,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -26831,11 +26384,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -26845,7 +26398,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -26854,22 +26407,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -26878,10 +26431,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -26889,7 +26442,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -26910,10 +26463,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -26924,7 +26477,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -27035,36 +26588,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -27073,11 +26626,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27087,7 +26640,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -27096,22 +26649,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27120,10 +26673,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -27131,7 +26684,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27152,10 +26705,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27166,7 +26719,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -27235,36 +26788,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -27273,11 +26826,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27287,7 +26840,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -27296,22 +26849,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27320,10 +26873,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -27331,7 +26884,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27352,10 +26905,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27366,7 +26919,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -27435,36 +26988,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -27473,11 +27026,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -27487,7 +27040,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -27496,22 +27049,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -27520,10 +27073,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -27531,7 +27084,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -27552,10 +27105,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -27566,7 +27119,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28671,36 +28224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -28709,11 +28262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -28723,7 +28276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -28732,22 +28285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -28756,10 +28309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -28767,7 +28320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28788,10 +28341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -28802,7 +28355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -28871,36 +28424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -28909,11 +28462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -28923,7 +28476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -28932,22 +28485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -28956,10 +28509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -28967,7 +28520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -28988,10 +28541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29002,7 +28555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29071,36 +28624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -29109,11 +28662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29123,7 +28676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -29132,22 +28685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29156,10 +28709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -29167,7 +28720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29188,10 +28741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29202,7 +28755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29271,36 +28824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -29309,11 +28862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29323,7 +28876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -29332,22 +28885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29356,10 +28909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -29367,7 +28920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29388,10 +28941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29402,7 +28955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29471,36 +29024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -29509,11 +29062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29523,7 +29076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -29532,22 +29085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29556,10 +29109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -29567,7 +29120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29588,10 +29141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29602,7 +29155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29671,36 +29224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -29709,11 +29262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29723,7 +29276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -29732,22 +29285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29756,10 +29309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -29767,7 +29320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29788,10 +29341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -29802,7 +29355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -29871,36 +29424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -29909,11 +29462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -29923,7 +29476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -29932,22 +29485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -29956,10 +29509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -29967,7 +29520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -29988,10 +29541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30002,7 +29555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30071,36 +29624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -30109,11 +29662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30123,7 +29676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -30132,22 +29685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30156,10 +29709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -30167,7 +29720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30188,10 +29741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30202,7 +29755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30271,36 +29824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -30309,11 +29862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30323,7 +29876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -30332,22 +29885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30356,10 +29909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -30367,7 +29920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30388,10 +29941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30402,7 +29955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30471,36 +30024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -30509,11 +30062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30523,7 +30076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -30532,22 +30085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30556,10 +30109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -30567,7 +30120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30588,10 +30141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30602,7 +30155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30671,36 +30224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -30709,11 +30262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30723,7 +30276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -30732,22 +30285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30756,10 +30309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -30767,7 +30320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30788,10 +30341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -30802,7 +30355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -30871,36 +30424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -30909,11 +30462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -30923,7 +30476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -30932,22 +30485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -30956,10 +30509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -30967,7 +30520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -30988,10 +30541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31002,7 +30555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31071,36 +30624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -31109,11 +30662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31123,7 +30676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -31132,22 +30685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31156,10 +30709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -31167,7 +30720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31188,10 +30741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31202,7 +30755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31271,36 +30824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -31309,11 +30862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31323,7 +30876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -31332,22 +30885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31356,10 +30909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -31367,7 +30920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31388,10 +30941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31402,7 +30955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31471,36 +31024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -31509,11 +31062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31523,7 +31076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -31532,22 +31085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31556,10 +31109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -31567,7 +31120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31588,10 +31141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31602,7 +31155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31671,36 +31224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -31709,11 +31262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31723,7 +31276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -31732,22 +31285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31756,10 +31309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -31767,7 +31320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31788,10 +31341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -31802,7 +31355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -31871,36 +31424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -31909,11 +31462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -31923,7 +31476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -31932,22 +31485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -31956,10 +31509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -31967,7 +31520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -31988,10 +31541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32002,7 +31555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32071,36 +31624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -32109,11 +31662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32123,7 +31676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -32132,22 +31685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32156,10 +31709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -32167,7 +31720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32188,10 +31741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32202,7 +31755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32271,36 +31824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -32309,11 +31862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32323,7 +31876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -32332,22 +31885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32356,10 +31909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -32367,7 +31920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32388,10 +31941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32402,7 +31955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32471,36 +32024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -32509,11 +32062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32523,7 +32076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -32532,22 +32085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32556,10 +32109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -32567,7 +32120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32588,10 +32141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32602,7 +32155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32671,36 +32224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -32709,11 +32262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32723,7 +32276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -32732,22 +32285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32756,10 +32309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -32767,7 +32320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32788,10 +32341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -32802,7 +32355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -32871,36 +32424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -32909,11 +32462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -32923,7 +32476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -32932,22 +32485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -32956,10 +32509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -32967,7 +32520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -32988,10 +32541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33002,7 +32555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33071,36 +32624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -33109,11 +32662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33123,7 +32676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -33132,22 +32685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33156,10 +32709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -33167,7 +32720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33188,10 +32741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33202,7 +32755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33271,36 +32824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -33309,11 +32862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33323,7 +32876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -33332,22 +32885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33356,10 +32909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -33367,7 +32920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33388,10 +32941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33402,7 +32955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33471,36 +33024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -33509,11 +33062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33523,7 +33076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -33532,22 +33085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33556,10 +33109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -33567,7 +33120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33588,10 +33141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33602,7 +33155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33671,36 +33224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -33709,11 +33262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33723,7 +33276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -33732,22 +33285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33756,10 +33309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -33767,7 +33320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33788,10 +33341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -33802,7 +33355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -33871,36 +33424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -33909,11 +33462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -33923,7 +33476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -33932,22 +33485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -33956,10 +33509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -33967,7 +33520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -33988,10 +33541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34002,7 +33555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34071,36 +33624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -34109,11 +33662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34123,7 +33676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -34132,22 +33685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34156,10 +33709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -34167,7 +33720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34188,10 +33741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34202,7 +33755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34271,36 +33824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -34309,11 +33862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34323,7 +33876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -34332,22 +33885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34356,10 +33909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -34367,7 +33920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34388,10 +33941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34402,7 +33955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34471,36 +34024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -34509,11 +34062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34523,7 +34076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -34532,22 +34085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34556,10 +34109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -34567,7 +34120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34588,10 +34141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34602,7 +34155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34671,36 +34224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -34709,11 +34262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34723,7 +34276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -34732,22 +34285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34756,10 +34309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -34767,7 +34320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34788,10 +34341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -34802,7 +34355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -34871,36 +34424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -34909,11 +34462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -34923,7 +34476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -34932,22 +34485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -34956,10 +34509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -34967,7 +34520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -34988,10 +34541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35002,7 +34555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35071,36 +34624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -35109,11 +34662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35123,7 +34676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -35132,22 +34685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35156,10 +34709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -35167,7 +34720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35188,10 +34741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35202,7 +34755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35271,36 +34824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -35309,11 +34862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35323,7 +34876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -35332,22 +34885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35356,10 +34909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -35367,7 +34920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35388,10 +34941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35402,7 +34955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35471,36 +35024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -35509,11 +35062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35523,7 +35076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -35532,22 +35085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35556,10 +35109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -35567,7 +35120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35588,10 +35141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35602,7 +35155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35671,36 +35224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -35709,11 +35262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35723,7 +35276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -35732,22 +35285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35756,10 +35309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -35767,7 +35320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35788,10 +35341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -35802,7 +35355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -35871,36 +35424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -35909,11 +35462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -35923,7 +35476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -35932,22 +35485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -35956,10 +35509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -35967,7 +35520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -35988,10 +35541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36002,7 +35555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36071,36 +35624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -36109,11 +35662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36123,7 +35676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -36132,22 +35685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36156,10 +35709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -36167,7 +35720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36188,10 +35741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36202,7 +35755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36271,36 +35824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -36309,11 +35862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36323,7 +35876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -36332,22 +35885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36356,10 +35909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -36367,7 +35920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36388,10 +35941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36402,7 +35955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36471,36 +36024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -36509,11 +36062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36523,7 +36076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -36532,22 +36085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36556,10 +36109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -36567,7 +36120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36588,10 +36141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36602,7 +36155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36671,36 +36224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -36709,11 +36262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36723,7 +36276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -36732,22 +36285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36756,10 +36309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -36767,7 +36320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36788,10 +36341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -36802,7 +36355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -36871,36 +36424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -36909,11 +36462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -36923,7 +36476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -36932,22 +36485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -36956,10 +36509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -36967,7 +36520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -36988,10 +36541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37002,7 +36555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37071,36 +36624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -37109,11 +36662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37123,7 +36676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -37132,22 +36685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37156,10 +36709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -37167,7 +36720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37188,10 +36741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37202,7 +36755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37271,36 +36824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -37309,11 +36862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37323,7 +36876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -37332,22 +36885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37356,10 +36909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -37367,7 +36920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37388,10 +36941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37402,7 +36955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37471,36 +37024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -37509,11 +37062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37523,7 +37076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -37532,22 +37085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37556,10 +37109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -37567,7 +37120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37588,10 +37141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37602,7 +37155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37671,36 +37224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -37709,11 +37262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37723,7 +37276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -37732,22 +37285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37756,10 +37309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -37767,7 +37320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37788,10 +37341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -37802,7 +37355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -37871,36 +37424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -37909,11 +37462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -37923,7 +37476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -37932,22 +37485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -37956,10 +37509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -37967,7 +37520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -37988,10 +37541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38002,7 +37555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38071,36 +37624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -38109,11 +37662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38123,7 +37676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -38132,22 +37685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38156,10 +37709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -38167,7 +37720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38188,10 +37741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38202,7 +37755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38271,36 +37824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -38309,11 +37862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38323,7 +37876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -38332,22 +37885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38356,10 +37909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -38367,7 +37920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38388,10 +37941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38402,7 +37955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38471,36 +38024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -38509,11 +38062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38523,7 +38076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -38532,22 +38085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38556,10 +38109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -38567,7 +38120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38588,10 +38141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38602,7 +38155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38671,36 +38224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -38709,11 +38262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38723,7 +38276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -38732,22 +38285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38756,10 +38309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -38767,7 +38320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38788,10 +38341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -38802,7 +38355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -38871,36 +38424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -38909,11 +38462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -38923,7 +38476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -38932,22 +38485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -38956,10 +38509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -38967,7 +38520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -38988,10 +38541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39002,7 +38555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39071,36 +38624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -39109,11 +38662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39123,7 +38676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -39132,22 +38685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39156,10 +38709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -39167,7 +38720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39188,10 +38741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39202,7 +38755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39271,36 +38824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -39309,11 +38862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39323,7 +38876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -39332,22 +38885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39356,10 +38909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -39367,7 +38920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39388,10 +38941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39402,7 +38955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39471,36 +39024,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -39509,11 +39062,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39523,7 +39076,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -39532,22 +39085,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39556,10 +39109,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -39567,7 +39120,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39588,10 +39141,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39602,7 +39155,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39671,36 +39224,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -39709,11 +39262,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39723,7 +39276,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -39732,22 +39285,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39756,10 +39309,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -39767,7 +39320,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39788,10 +39341,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -39802,7 +39355,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39871,36 +39424,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -39909,11 +39462,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -39923,7 +39476,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -39932,22 +39485,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -39956,10 +39509,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -39967,7 +39520,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -39988,10 +39541,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40002,7 +39555,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -40071,36 +39624,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -40109,11 +39662,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -40123,7 +39676,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -40132,22 +39685,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -40156,10 +39709,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -40167,7 +39720,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40188,10 +39741,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40202,7 +39755,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -40271,36 +39824,36 @@ REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE.  The software is -comprised of Distributable Code. “Distributable Code” is code that you are +comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -· +� You may copy and distribute the object code form of the software. -· +� Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -· +� use the Distributable Code in your applications and not as a standalone distribution; -· +� require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -· +� indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys’ fees, related to the distribution or use of your applications, +including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -· -use Microsoft’s trademarks in your applications’ names or in a way +� +use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -· +� modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An “Excluded -License” is one that requires, as a condition of use, modification or +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. 4. @@ -40309,11 +39862,11 @@ a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products -and services.  You may opt-out of many of these scenarios, but not all, as -described in the software documentation.  There are also some features in the software that may enable you and +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft’s +appropriate notices to users of your applications together with Microsoft�s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these @@ -40323,7 +39876,7 @@ Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. 5. Scope of License. The software is licensed, not sold. This agreement @@ -40332,22 +39885,22 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -· +� work around any technical limitations in the software; -· +� reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -· +� remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -· +� use the software in any way that is against the law; or -· +� share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. @@ -40356,10 +39909,10 @@ Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. +on export restrictions, visit www.microsoft.com/exporting. � 7. SUPPORT -SERVICES. Because this software is “as is,” we may not provide +SERVICES. Because this software is �as is,� we may not provide support services for it. 8. Entire @@ -40367,7 +39920,7 @@ Agreement. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. -9.    Applicable Law.  If you acquired the software in the United States, Washington law +9.    Applicable Law.� If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply. @@ -40388,10 +39941,10 @@ however, the software will resume checking for and installing updates), or unins the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c)    Germany and Austria. -(i)        Warranty. The software will perform +(i)������� Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software. -(ii)       Limitation of Liability. In case of +(ii)������ Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law. @@ -40402,7 +39955,7 @@ performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND diff --git a/global.json b/global.json index 447ef4324..8b45220dd 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.400", + "version": "6.0.110", "rollForward": "latestFeature" } -} \ No newline at end of file +} diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index d35e38e21..b24e6e930 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,8 +30,8 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> </ItemGroup> <ItemGroup> diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index d14789e20..e9a2fc0f8 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index 167493031..87792e683 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index 8f06852d3..e31db45ae 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index 19969795f..a6bcc9060 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -32,7 +32,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 87d43f157..1ff6a1596 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -28,7 +28,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 445e90d1e..3e738daba 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,8 +30,8 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index 6d856b29c..0a50325ed 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -33,7 +33,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj index e6b0f8fa8..8cf6d4dcc 100644 --- a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj +++ b/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj @@ -25,7 +25,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index 8231748c4..1dd7b9b8d 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -30,7 +30,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 574482049..41c6e2516 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -48,9 +48,9 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.8" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> <PackageReference Include="NLog" Version="5.0.5" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 671eb5b15..d78a5da67 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -36,7 +36,7 @@ </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.10" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index b9e0d2490..8adce514c 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -31,10 +31,10 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> - <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.8" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.8" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> From c83c50a9add31b541510d9c82f4f71764a0fbb57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 09:42:02 -0800 Subject: [PATCH 081/101] Bump anchore/scan-action from 3.3.0 to 3.3.1 (#240) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.3.0...v3.3.1) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73883567f..2b3e4635e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -401,7 +401,7 @@ jobs: - name: Anchore container scan id: anchore-scan - uses: anchore/scan-action@v3.3.0 + uses: anchore/scan-action@v3.3.1 if: ${{ (matrix.os == 'ubuntu-latest') }} with: image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} From 697c7fcd784af7c306a62fdb3706b82a25e22392 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 8 Nov 2022 10:50:47 -0800 Subject: [PATCH 082/101] Refactor database projects to support multiple database types (#237) * gh-235 Refactor sqlite support to new projects * Set DB type for integration test Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .licenserc.yaml | 2 +- docs/compliance/third-party-licenses.md | 2562 ++++++++--------- .../InformaticsGatewayConfiguration.cs | 5 - .../Api/IDatabaseMigrationManager.cs} | 12 +- .../Api}/IInformaticsGatewayRepository.cs | 7 +- ...loy.InformaticsGateway.Database.Api.csproj | 40 + .../{ => Api}/StorageMetadataWrapper.cs | 4 +- ...formaticsGateway.Database.Api.Test.csproj} | 4 +- .../Test/StorageMetadataWrapperTest.cs | 4 +- src/Database/{ => Api}/Test/Usings.cs | 0 src/Database/DatabaseManager.cs | 52 + src/Database/DatabaseMigrationManager.cs | 35 + ...stinationApplicationEntityConfiguration.cs | 2 +- .../InferenceRequestConfiguration.cs | 2 +- .../MonaiApplicationEntityConfiguration.cs | 2 +- .../Configuration}/PayloadConfiguration.cs | 2 +- .../EntityFramework/Configuration/SR.cs | 28 + .../SourceApplicationEntityConfiguration.cs | 2 +- ...orageMetadataWrapperEntityConfiguration.cs | 3 +- .../EfDatabaseMigrationManager.cs | 48 + .../InformaticsGatewayContext.cs | 3 +- .../InformaticsGatewayContextFactory.cs | 7 +- .../InformaticsGatewayRepository.cs | 15 +- .../20220203222116_R1_Initialize.Designer.cs | 2 +- .../20220203222116_R1_Initialize.cs | 0 .../20220211175051_R1_Patch.Designer.cs | 2 +- .../Migrations/20220211175051_R1_Patch.cs | 0 .../20220613235333_R2_0.2.0.Designer.cs | 2 +- .../Migrations/20220613235333_R2_0.2.0.cs | 0 .../20220802200605_R3_0.3.0.Designer.cs | 2 +- .../Migrations/20220802200605_R3_0.3.0.cs | 0 .../20221010184458_R3_0.3.2.Designer.cs | 2 +- .../Migrations/20221010184458_R3_0.3.2.cs | 0 .../InformaticsGatewayContextModelSnapshot.cs | 2 +- ...icsGateway.Database.EntityFramework.csproj | 55 + ....Deploy.InformaticsGateway.Database.csproj | 25 +- .../Common/PayloadExtensions.cs | 3 +- .../Monai.Deploy.InformaticsGateway.csproj | 1 + src/InformaticsGateway/Program.cs | 18 +- .../IInferenceRequestRepository.cs | 4 +- .../InferenceRequestRepository.cs | 1 + .../StorageMetadataWrapperRepository.cs | 2 +- .../Connectors/DataRetrievalService.cs | 1 + .../Services/Connectors/PayloadAssembler.cs | 2 +- .../Connectors/PayloadMoveActionHandler.cs | 2 +- .../PayloadNotificationActionHandler.cs | 3 +- .../Connectors/PayloadNotificationService.cs | 2 +- .../Services/Export/ScuExportService.cs | 2 +- .../Http/DestinationAeTitleController.cs | 2 +- .../Services/Http/MonaiAeTitleController.cs | 2 +- .../Services/Http/SourceAeTitleController.cs | 2 +- .../Services/Http/Startup.cs | 2 +- .../Services/Scp/ApplicationEntityManager.cs | 2 +- .../Services/Scu/ScuService.cs | 3 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 1 + src/InformaticsGateway/Test/ProgramTest.cs | 2 - .../InferenceRequestRepositoryTest.cs | 1 + .../InformaticsGatewayRepositoryTest.cs | 3 +- .../StorageInfoWrapperRepositoryTest.cs | 2 +- .../Connectors/DataRetrievalServiceTest.cs | 1 + .../Connectors/PayloadAssemblerTest.cs | 14 +- .../PayloadMoveActionHandlerTest.cs | 10 +- .../PayloadNotificationActionHandlerTest.cs | 2 +- .../PayloadNotificationServiceTest.cs | 12 +- .../Services/Export/ScuExportServiceTest.cs | 2 +- .../Http/DestinationAeTitleControllerTest.cs | 2 +- .../Http/MonaiAeTitleControllerTest.cs | 2 +- .../Http/SourceAeTitleControllerTest.cs | 2 +- .../Scp/ApplicationEntityManagerTest.cs | 2 +- .../Test/Services/Scu/ScuServiceTest.cs | 1 - src/InformaticsGateway/Test/appsettings.json | 1 + src/InformaticsGateway/appsettings.json | 1 + src/Monai.Deploy.InformaticsGateway.sln | 56 +- tests/Integration.Test/Hooks/SqlHooks.cs | 2 +- ...InformaticsGateway.Integration.Test.csproj | 4 +- .../configs/informatics-gateway.json | 3 +- 76 files changed, 1698 insertions(+), 1415 deletions(-) rename src/{InformaticsGateway/Repositories/StorageObjectsinferenceRequest.cs => Database/Api/IDatabaseMigrationManager.cs} (73%) rename src/{InformaticsGateway/Repositories => Database/Api}/IInformaticsGatewayRepository.cs (88%) create mode 100644 src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj rename src/Database/{ => Api}/StorageMetadataWrapper.cs (94%) rename src/Database/{Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj => Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj} (93%) rename src/Database/{ => Api}/Test/StorageMetadataWrapperTest.cs (97%) rename src/Database/{ => Api}/Test/Usings.cs (100%) create mode 100644 src/Database/DatabaseManager.cs create mode 100644 src/Database/DatabaseMigrationManager.cs rename src/Database/{ => EntityFramework/Configuration}/DestinationApplicationEntityConfiguration.cs (94%) rename src/Database/{ => EntityFramework/Configuration}/InferenceRequestConfiguration.cs (97%) rename src/Database/{ => EntityFramework/Configuration}/MonaiApplicationEntityConfiguration.cs (97%) rename src/Database/{ => EntityFramework/Configuration}/PayloadConfiguration.cs (97%) create mode 100644 src/Database/EntityFramework/Configuration/SR.cs rename src/Database/{ => EntityFramework/Configuration}/SourceApplicationEntityConfiguration.cs (94%) rename src/Database/{ => EntityFramework/Configuration}/StorageMetadataWrapperEntityConfiguration.cs (91%) create mode 100644 src/Database/EntityFramework/EfDatabaseMigrationManager.cs rename src/Database/{ => EntityFramework}/InformaticsGatewayContext.cs (96%) rename src/Database/{ => EntityFramework}/InformaticsGatewayContextFactory.cs (85%) rename src/{InformaticsGateway/Repositories => Database/EntityFramework}/InformaticsGatewayRepository.cs (90%) rename src/Database/{ => EntityFramework}/Migrations/20220203222116_R1_Initialize.Designer.cs (98%) rename src/Database/{ => EntityFramework}/Migrations/20220203222116_R1_Initialize.cs (100%) rename src/Database/{ => EntityFramework}/Migrations/20220211175051_R1_Patch.Designer.cs (98%) rename src/Database/{ => EntityFramework}/Migrations/20220211175051_R1_Patch.cs (100%) rename src/Database/{ => EntityFramework}/Migrations/20220613235333_R2_0.2.0.Designer.cs (98%) rename src/Database/{ => EntityFramework}/Migrations/20220613235333_R2_0.2.0.cs (100%) rename src/Database/{ => EntityFramework}/Migrations/20220802200605_R3_0.3.0.Designer.cs (99%) rename src/Database/{ => EntityFramework}/Migrations/20220802200605_R3_0.3.0.cs (100%) rename src/Database/{ => EntityFramework}/Migrations/20221010184458_R3_0.3.2.Designer.cs (99%) rename src/Database/{ => EntityFramework}/Migrations/20221010184458_R3_0.3.2.cs (100%) rename src/Database/{ => EntityFramework}/Migrations/InformaticsGatewayContextModelSnapshot.cs (99%) create mode 100644 src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj diff --git a/.licenserc.yaml b/.licenserc.yaml index 6808aeebe..f7d23c3d8 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -30,7 +30,7 @@ header: - 'src/.sonarlint/**' - 'src/coverlet.runsettings' - 'src/Monai.Deploy.InformaticsGateway.sln' - - 'src/Database/Migrations/**' + - 'src/Database/EntityFramework/Migrations/**' - 'demos/**/.env/**' - 'demos/**/*.txt' - 'doc/dependency_decisions.yml' diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 9b6bd58d0..b627aabec 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -1351,16 +1351,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -1395,9 +1395,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -1410,7 +1410,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -1443,7 +1443,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -1453,7 +1453,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2448,16 +2448,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -2492,9 +2492,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2507,7 +2507,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -2540,7 +2540,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -2550,7 +2550,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2648,16 +2648,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -2692,9 +2692,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2707,7 +2707,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -2740,7 +2740,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -2750,7 +2750,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5216,16 +5216,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5260,9 +5260,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5275,7 +5275,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5308,7 +5308,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5318,7 +5318,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5458,16 +5458,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5502,9 +5502,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5517,7 +5517,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5550,7 +5550,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5560,7 +5560,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5658,16 +5658,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5702,9 +5702,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5717,7 +5717,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5750,7 +5750,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5760,7 +5760,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -6220,16 +6220,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -6264,9 +6264,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -6279,7 +6279,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -6312,7 +6312,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -6322,7 +6322,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -8134,16 +8134,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -8178,9 +8178,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -8193,7 +8193,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -8226,7 +8226,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -8236,7 +8236,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -8946,7 +8946,7 @@ resources legal and licencing contributors - +  Please note: our license is an adaptation of the MIT X11 License and should be read as such. @@ -8958,10 +8958,10 @@ Copyright (c) 2000 - 2022 The Legion of the Bouncy Castle Inc. (http://www.bounc THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +  - - +  Site hosted by Tau Ceti Co-operative Ltd. @@ -10517,16 +10517,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -10561,9 +10561,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10576,7 +10576,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -10609,7 +10609,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -10619,7 +10619,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10717,16 +10717,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -10761,9 +10761,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10776,7 +10776,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -10809,7 +10809,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -10819,7 +10819,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10959,16 +10959,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11003,9 +11003,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11018,7 +11018,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11051,7 +11051,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11061,7 +11061,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11159,16 +11159,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11203,9 +11203,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11218,7 +11218,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11251,7 +11251,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11261,7 +11261,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11400,16 +11400,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11444,9 +11444,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11459,7 +11459,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11492,7 +11492,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11502,7 +11502,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11600,16 +11600,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11644,9 +11644,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11659,7 +11659,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11692,7 +11692,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11702,7 +11702,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11964,16 +11964,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12008,9 +12008,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12023,7 +12023,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12056,7 +12056,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12066,7 +12066,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12248,16 +12248,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12292,9 +12292,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12307,7 +12307,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12340,7 +12340,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12350,7 +12350,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12448,16 +12448,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12492,9 +12492,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12507,7 +12507,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12540,7 +12540,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12550,7 +12550,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12690,16 +12690,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12734,9 +12734,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12749,7 +12749,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12782,7 +12782,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12792,7 +12792,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12890,16 +12890,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12934,9 +12934,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12949,7 +12949,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12982,7 +12982,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12992,7 +12992,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13090,16 +13090,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13134,9 +13134,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13149,7 +13149,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13182,7 +13182,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13192,7 +13192,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13372,16 +13372,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13416,9 +13416,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13431,7 +13431,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13464,7 +13464,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13474,7 +13474,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13572,16 +13572,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13616,9 +13616,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13631,7 +13631,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13664,7 +13664,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13674,7 +13674,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13814,16 +13814,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13858,9 +13858,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13873,7 +13873,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13906,7 +13906,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13916,7 +13916,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14014,16 +14014,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14058,9 +14058,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14073,7 +14073,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14106,7 +14106,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14116,7 +14116,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14214,16 +14214,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14258,9 +14258,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14273,7 +14273,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14306,7 +14306,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14316,7 +14316,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14414,16 +14414,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14458,9 +14458,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14473,7 +14473,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14506,7 +14506,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14516,7 +14516,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14614,16 +14614,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14658,9 +14658,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14673,7 +14673,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14706,7 +14706,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14716,7 +14716,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14814,16 +14814,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14858,9 +14858,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14873,7 +14873,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14906,7 +14906,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14916,7 +14916,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15178,16 +15178,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15222,9 +15222,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15237,7 +15237,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15270,7 +15270,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15280,7 +15280,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15378,16 +15378,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15422,9 +15422,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15437,7 +15437,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15470,7 +15470,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15480,7 +15480,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15578,16 +15578,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15622,9 +15622,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15637,7 +15637,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15670,7 +15670,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15680,7 +15680,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15778,16 +15778,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15822,9 +15822,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15837,7 +15837,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15870,7 +15870,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15880,7 +15880,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15978,16 +15978,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16022,9 +16022,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16037,7 +16037,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16070,7 +16070,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16080,7 +16080,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16219,16 +16219,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16263,9 +16263,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16278,7 +16278,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16311,7 +16311,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16321,7 +16321,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16503,16 +16503,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16547,9 +16547,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16562,7 +16562,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16595,7 +16595,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16605,7 +16605,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16703,16 +16703,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16747,9 +16747,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16762,7 +16762,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16795,7 +16795,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16805,7 +16805,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16903,16 +16903,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16947,9 +16947,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16962,7 +16962,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16995,7 +16995,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17005,7 +17005,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17103,16 +17103,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17147,9 +17147,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17162,7 +17162,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17195,7 +17195,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17205,7 +17205,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17303,16 +17303,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17347,9 +17347,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17362,7 +17362,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17395,7 +17395,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17405,7 +17405,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17503,16 +17503,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17547,9 +17547,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17562,7 +17562,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17595,7 +17595,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17605,7 +17605,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17703,16 +17703,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17747,9 +17747,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17762,7 +17762,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17795,7 +17795,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17805,7 +17805,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17903,16 +17903,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17947,9 +17947,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17962,7 +17962,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17995,7 +17995,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18005,7 +18005,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18185,16 +18185,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18229,9 +18229,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18244,7 +18244,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18277,7 +18277,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18287,7 +18287,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18385,16 +18385,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18429,9 +18429,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18444,7 +18444,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18477,7 +18477,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18487,7 +18487,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18585,16 +18585,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18629,9 +18629,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18644,7 +18644,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18677,7 +18677,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18687,7 +18687,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18785,16 +18785,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18829,9 +18829,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18844,7 +18844,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18877,7 +18877,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18887,7 +18887,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18985,16 +18985,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19029,9 +19029,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19044,7 +19044,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19077,7 +19077,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19087,7 +19087,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19227,16 +19227,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19271,9 +19271,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19286,7 +19286,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19319,7 +19319,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19329,7 +19329,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19427,16 +19427,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19471,9 +19471,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19486,7 +19486,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19519,7 +19519,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19529,7 +19529,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19627,16 +19627,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19671,9 +19671,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19686,7 +19686,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19719,7 +19719,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19729,7 +19729,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19827,16 +19827,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19871,9 +19871,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19886,7 +19886,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19919,7 +19919,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19929,7 +19929,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20027,16 +20027,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20071,9 +20071,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20086,7 +20086,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20119,7 +20119,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20129,7 +20129,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20310,16 +20310,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20354,9 +20354,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20369,7 +20369,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20402,7 +20402,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20412,7 +20412,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20510,16 +20510,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20554,9 +20554,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20569,7 +20569,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20602,7 +20602,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20612,7 +20612,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20710,16 +20710,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20754,9 +20754,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20769,7 +20769,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20802,7 +20802,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20812,7 +20812,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20910,16 +20910,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20954,9 +20954,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20969,7 +20969,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21002,7 +21002,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21012,7 +21012,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21110,16 +21110,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21154,9 +21154,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21169,7 +21169,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21202,7 +21202,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21212,7 +21212,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21310,16 +21310,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21354,9 +21354,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21369,7 +21369,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21402,7 +21402,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21412,7 +21412,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21510,16 +21510,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21554,9 +21554,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21569,7 +21569,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21602,7 +21602,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21612,7 +21612,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21710,16 +21710,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21754,9 +21754,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21769,7 +21769,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21802,7 +21802,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21812,7 +21812,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21910,16 +21910,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21954,9 +21954,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21969,7 +21969,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22002,7 +22002,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22012,7 +22012,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22152,16 +22152,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22196,9 +22196,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22211,7 +22211,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22244,7 +22244,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22254,7 +22254,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22352,16 +22352,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22396,9 +22396,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22411,7 +22411,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22444,7 +22444,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22454,7 +22454,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22552,16 +22552,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22596,9 +22596,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22611,7 +22611,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22644,7 +22644,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22654,7 +22654,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22752,16 +22752,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22796,9 +22796,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22811,7 +22811,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22844,7 +22844,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22854,7 +22854,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22952,16 +22952,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22996,9 +22996,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23011,7 +23011,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23044,7 +23044,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23054,7 +23054,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23152,16 +23152,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23196,9 +23196,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23211,7 +23211,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23244,7 +23244,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23254,7 +23254,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23352,16 +23352,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23396,9 +23396,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23411,7 +23411,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23444,7 +23444,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23454,7 +23454,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23594,16 +23594,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23638,9 +23638,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23653,7 +23653,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23686,7 +23686,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23696,7 +23696,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23836,16 +23836,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23880,9 +23880,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23895,7 +23895,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23928,7 +23928,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23938,7 +23938,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24036,16 +24036,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24080,9 +24080,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24095,7 +24095,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24128,7 +24128,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24138,7 +24138,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24278,16 +24278,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24322,9 +24322,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24337,7 +24337,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24370,7 +24370,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24380,7 +24380,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24520,16 +24520,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24564,9 +24564,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24579,7 +24579,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24612,7 +24612,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24622,7 +24622,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24968,16 +24968,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25012,9 +25012,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25027,7 +25027,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25060,7 +25060,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25070,7 +25070,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25168,16 +25168,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25212,9 +25212,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25227,7 +25227,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25260,7 +25260,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25270,7 +25270,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25451,16 +25451,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25495,9 +25495,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25510,7 +25510,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25543,7 +25543,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25553,7 +25553,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25651,16 +25651,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25695,9 +25695,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25710,7 +25710,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25743,7 +25743,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25753,7 +25753,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25892,16 +25892,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25936,9 +25936,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25951,7 +25951,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25984,7 +25984,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25994,7 +25994,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26134,16 +26134,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26178,9 +26178,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26193,7 +26193,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26226,7 +26226,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26236,7 +26236,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26334,16 +26334,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26378,9 +26378,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26393,7 +26393,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26426,7 +26426,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26436,7 +26436,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26576,16 +26576,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26620,9 +26620,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26635,7 +26635,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26668,7 +26668,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26678,7 +26678,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26776,16 +26776,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26820,9 +26820,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26835,7 +26835,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26868,7 +26868,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26878,7 +26878,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26976,16 +26976,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -27020,9 +27020,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -27035,7 +27035,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -27068,7 +27068,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -27078,7 +27078,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28212,16 +28212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28256,9 +28256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28271,7 +28271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28304,7 +28304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28314,7 +28314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28412,16 +28412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28456,9 +28456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28471,7 +28471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28504,7 +28504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28514,7 +28514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28612,16 +28612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28656,9 +28656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28671,7 +28671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28704,7 +28704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28714,7 +28714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28812,16 +28812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28856,9 +28856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28871,7 +28871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28904,7 +28904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28914,7 +28914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29012,16 +29012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29056,9 +29056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29071,7 +29071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29104,7 +29104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29114,7 +29114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29212,16 +29212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29256,9 +29256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29271,7 +29271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29304,7 +29304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29314,7 +29314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29412,16 +29412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29456,9 +29456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29471,7 +29471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29504,7 +29504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29514,7 +29514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29612,16 +29612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29656,9 +29656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29671,7 +29671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29704,7 +29704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29714,7 +29714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29812,16 +29812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29856,9 +29856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29871,7 +29871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29904,7 +29904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29914,7 +29914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30012,16 +30012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30056,9 +30056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30071,7 +30071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30104,7 +30104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30114,7 +30114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30212,16 +30212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30256,9 +30256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30271,7 +30271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30304,7 +30304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30314,7 +30314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30412,16 +30412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30456,9 +30456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30471,7 +30471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30504,7 +30504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30514,7 +30514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30612,16 +30612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30656,9 +30656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30671,7 +30671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30704,7 +30704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30714,7 +30714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30812,16 +30812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30856,9 +30856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30871,7 +30871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30904,7 +30904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30914,7 +30914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31012,16 +31012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31056,9 +31056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31071,7 +31071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31104,7 +31104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31114,7 +31114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31212,16 +31212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31256,9 +31256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31271,7 +31271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31304,7 +31304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31314,7 +31314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31412,16 +31412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31456,9 +31456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31471,7 +31471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31504,7 +31504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31514,7 +31514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31612,16 +31612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31656,9 +31656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31671,7 +31671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31704,7 +31704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31714,7 +31714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31812,16 +31812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31856,9 +31856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31871,7 +31871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31904,7 +31904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31914,7 +31914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32012,16 +32012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32056,9 +32056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32071,7 +32071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32104,7 +32104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32114,7 +32114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32212,16 +32212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32256,9 +32256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32271,7 +32271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32304,7 +32304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32314,7 +32314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32412,16 +32412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32456,9 +32456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32471,7 +32471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32504,7 +32504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32514,7 +32514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32612,16 +32612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32656,9 +32656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32671,7 +32671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32704,7 +32704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32714,7 +32714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32812,16 +32812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32856,9 +32856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32871,7 +32871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32904,7 +32904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32914,7 +32914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33012,16 +33012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33056,9 +33056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33071,7 +33071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33104,7 +33104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33114,7 +33114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33212,16 +33212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33256,9 +33256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33271,7 +33271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33304,7 +33304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33314,7 +33314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33412,16 +33412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33456,9 +33456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33471,7 +33471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33504,7 +33504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33514,7 +33514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33612,16 +33612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33656,9 +33656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33671,7 +33671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33704,7 +33704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33714,7 +33714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33812,16 +33812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33856,9 +33856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33871,7 +33871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33904,7 +33904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33914,7 +33914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34012,16 +34012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34056,9 +34056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34071,7 +34071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34104,7 +34104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34114,7 +34114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34212,16 +34212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34256,9 +34256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34271,7 +34271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34304,7 +34304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34314,7 +34314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34412,16 +34412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34456,9 +34456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34471,7 +34471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34504,7 +34504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34514,7 +34514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34612,16 +34612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34656,9 +34656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34671,7 +34671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34704,7 +34704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34714,7 +34714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34812,16 +34812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34856,9 +34856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34871,7 +34871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34904,7 +34904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34914,7 +34914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35012,16 +35012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35056,9 +35056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35071,7 +35071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35104,7 +35104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35114,7 +35114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35212,16 +35212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35256,9 +35256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35271,7 +35271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35304,7 +35304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35314,7 +35314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35412,16 +35412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35456,9 +35456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35471,7 +35471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35504,7 +35504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35514,7 +35514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35612,16 +35612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35656,9 +35656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35671,7 +35671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35704,7 +35704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35714,7 +35714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35812,16 +35812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35856,9 +35856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35871,7 +35871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35904,7 +35904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35914,7 +35914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36012,16 +36012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36056,9 +36056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36071,7 +36071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36104,7 +36104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36114,7 +36114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36212,16 +36212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36256,9 +36256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36271,7 +36271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36304,7 +36304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36314,7 +36314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36412,16 +36412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36456,9 +36456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36471,7 +36471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36504,7 +36504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36514,7 +36514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36612,16 +36612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36656,9 +36656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36671,7 +36671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36704,7 +36704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36714,7 +36714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36812,16 +36812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36856,9 +36856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36871,7 +36871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36904,7 +36904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36914,7 +36914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37012,16 +37012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37056,9 +37056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37071,7 +37071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37104,7 +37104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37114,7 +37114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37212,16 +37212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37256,9 +37256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37271,7 +37271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37304,7 +37304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37314,7 +37314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37412,16 +37412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37456,9 +37456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37471,7 +37471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37504,7 +37504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37514,7 +37514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37612,16 +37612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37656,9 +37656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37671,7 +37671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37704,7 +37704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37714,7 +37714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37812,16 +37812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37856,9 +37856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37871,7 +37871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37904,7 +37904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37914,7 +37914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38012,16 +38012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38056,9 +38056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38071,7 +38071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38104,7 +38104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38114,7 +38114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38212,16 +38212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38256,9 +38256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38271,7 +38271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38304,7 +38304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38314,7 +38314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38412,16 +38412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38456,9 +38456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38471,7 +38471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38504,7 +38504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38514,7 +38514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38612,16 +38612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38656,9 +38656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38671,7 +38671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38704,7 +38704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38714,7 +38714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38812,16 +38812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38856,9 +38856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38871,7 +38871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38904,7 +38904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38914,7 +38914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39012,16 +39012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39056,9 +39056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39071,7 +39071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39104,7 +39104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39114,7 +39114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39212,16 +39212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39256,9 +39256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39271,7 +39271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39304,7 +39304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39314,7 +39314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39412,16 +39412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39456,9 +39456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39471,7 +39471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39504,7 +39504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39514,7 +39514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39612,16 +39612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39656,9 +39656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39671,7 +39671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39704,7 +39704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39714,7 +39714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39812,16 +39812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39856,9 +39856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39871,7 +39871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39904,7 +39904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39914,7 +39914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and diff --git a/src/Configuration/InformaticsGatewayConfiguration.cs b/src/Configuration/InformaticsGatewayConfiguration.cs index 2194bd984..f2a466087 100644 --- a/src/Configuration/InformaticsGatewayConfiguration.cs +++ b/src/Configuration/InformaticsGatewayConfiguration.cs @@ -24,11 +24,6 @@ namespace Monai.Deploy.InformaticsGateway.Configuration /// </summary> public class InformaticsGatewayConfiguration { - /// <summary> - /// Name of the key for retrieve database connection string. - /// </summary> - public const string DatabaseConnectionStringKey = "InformaticsGatewayDatabase"; - /// <summary> /// Represents the <c>dicom</c> section of the configuration file. /// </summary> diff --git a/src/InformaticsGateway/Repositories/StorageObjectsinferenceRequest.cs b/src/Database/Api/IDatabaseMigrationManager.cs similarity index 73% rename from src/InformaticsGateway/Repositories/StorageObjectsinferenceRequest.cs rename to src/Database/Api/IDatabaseMigrationManager.cs index df5854769..3de2f9abf 100644 --- a/src/InformaticsGateway/Repositories/StorageObjectsinferenceRequest.cs +++ b/src/Database/Api/IDatabaseMigrationManager.cs @@ -1,6 +1,5 @@ /* - * Copyright 2021-2022 MONAI Consortium - * Copyright 2019-2021 NVIDIA Corporation + * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,9 +14,12 @@ * limitations under the License. */ -namespace Monai.Deploy.InformaticsGateway.Repositories +using Microsoft.Extensions.Hosting; + +namespace Monai.Deploy.InformaticsGateway.Database.Api { - public class StorageObjectsinferenceRequest + public interface IDatabaseMigrationManager { + IHost Migrate(IHost host); } -} \ No newline at end of file +} diff --git a/src/InformaticsGateway/Repositories/IInformaticsGatewayRepository.cs b/src/Database/Api/IInformaticsGatewayRepository.cs similarity index 88% rename from src/InformaticsGateway/Repositories/IInformaticsGatewayRepository.cs rename to src/Database/Api/IInformaticsGatewayRepository.cs index 411cd0912..ec9072dc5 100644 --- a/src/InformaticsGateway/Repositories/IInformaticsGatewayRepository.cs +++ b/src/Database/Api/IInformaticsGatewayRepository.cs @@ -14,14 +14,9 @@ * limitations under the License. */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; using Microsoft.EntityFrameworkCore.ChangeTracking; -namespace Monai.Deploy.InformaticsGateway.Repositories +namespace Monai.Deploy.InformaticsGateway.Database.Api { public interface IInformaticsGatewayRepository<T> where T : class { diff --git a/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj new file mode 100644 index 000000000..dfe506948 --- /dev/null +++ b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj @@ -0,0 +1,40 @@ +<!-- + ~ Copyright 2021-2022 MONAI Consortium + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. +--> + +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <RootNamespace>Monai.Deploy.InformaticsGateway.Database.Repositories</RootNamespace> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="Test\**" /> + <EmbeddedResource Remove="Test\**" /> + <None Remove="Test\**" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> + </ItemGroup> + +</Project> diff --git a/src/Database/StorageMetadataWrapper.cs b/src/Database/Api/StorageMetadataWrapper.cs similarity index 94% rename from src/Database/StorageMetadataWrapper.cs rename to src/Database/Api/StorageMetadataWrapper.cs index a3da85fff..f6a92aa39 100644 --- a/src/Database/StorageMetadataWrapper.cs +++ b/src/Database/Api/StorageMetadataWrapper.cs @@ -19,7 +19,7 @@ using Ardalis.GuardClauses; using Monai.Deploy.InformaticsGateway.Api.Storage; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.Api { public class StorageMetadataWrapper { @@ -61,7 +61,7 @@ public void Update(FileStorageMetadata metadata) public FileStorageMetadata GetObject() { - var type = System.Type.GetType(TypeName, true); + var type = Type.GetType(TypeName, true); return JsonSerializer.Deserialize(Value, type) as FileStorageMetadata; } } diff --git a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj b/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj similarity index 93% rename from src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj rename to src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj index 8cf6d4dcc..d73ad311b 100644 --- a/src/Database/Test/Monai.Deploy.InformaticsGateway.Database.Test.csproj +++ b/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj @@ -38,8 +38,8 @@ </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> - <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.Database.csproj" /> + <ProjectReference Include="..\..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> + <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.Database.Api.csproj" /> </ItemGroup> </Project> diff --git a/src/Database/Test/StorageMetadataWrapperTest.cs b/src/Database/Api/Test/StorageMetadataWrapperTest.cs similarity index 97% rename from src/Database/Test/StorageMetadataWrapperTest.cs rename to src/Database/Api/Test/StorageMetadataWrapperTest.cs index ea0b60536..e549bf809 100644 --- a/src/Database/Test/StorageMetadataWrapperTest.cs +++ b/src/Database/Api/Test/StorageMetadataWrapperTest.cs @@ -14,7 +14,9 @@ * limitations under the License. */ +using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Database.Api; namespace Monai.Deploy.InformaticsGateway.Database.Test { @@ -27,7 +29,7 @@ public void GivenAFhirFileStorageMetadataObject_WhenInitializedWithStorageMetada Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), - Api.Rest.FhirStorageFormat.Json); + FhirStorageFormat.Json); metadata.SetWorkflows("A", "B", "C"); var wrapper = new StorageMetadataWrapper(metadata); diff --git a/src/Database/Test/Usings.cs b/src/Database/Api/Test/Usings.cs similarity index 100% rename from src/Database/Test/Usings.cs rename to src/Database/Api/Test/Usings.cs diff --git a/src/Database/DatabaseManager.cs b/src/Database/DatabaseManager.cs new file mode 100644 index 000000000..7b4a1a136 --- /dev/null +++ b/src/Database/DatabaseManager.cs @@ -0,0 +1,52 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations; + +namespace Monai.Deploy.InformaticsGateway.Database +{ + public static class DatabaseManager + { + public static IServiceCollection ConfigureDatabase(this IServiceCollection services, IConfigurationSection? connectionStringConfigurationSection) + { + if (connectionStringConfigurationSection is null) + { + throw new ConfigurationException("No database connections found in configuration section 'ConnectionStrings'."); + } + + + var databaseType = connectionStringConfigurationSection["Type"]; + switch (databaseType) + { + case "Sqlite": + services.AddScoped<IDatabaseMigrationManager, EfDatabaseMigrationManager>(); + services.AddScoped(typeof(IInformaticsGatewayRepository<>), typeof(InformaticsGatewayRepository<>)); + services.AddDbContext<InformaticsGatewayContext>( + options => options.UseSqlite(connectionStringConfigurationSection[SR.DatabaseConnectionStringKey]), + ServiceLifetime.Transient); + return services; + default: + throw new ConfigurationException($"Unsupported database type defined: '{databaseType}'"); + } + } + } +} diff --git a/src/Database/DatabaseMigrationManager.cs b/src/Database/DatabaseMigrationManager.cs new file mode 100644 index 000000000..21a823d94 --- /dev/null +++ b/src/Database/DatabaseMigrationManager.cs @@ -0,0 +1,35 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Monai.Deploy.InformaticsGateway.Database.Api; + +namespace Monai.Deploy.InformaticsGateway.Database +{ + public static class DatabaseMigrationManager + { + public static IHost MigrateDatabase(this IHost host) + { + using (var scope = host.Services.CreateScope()) + { + scope.ServiceProvider.GetRequiredService<IDatabaseMigrationManager>()?.Migrate(host); + } + return host; + } + } +} + diff --git a/src/Database/DestinationApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs similarity index 94% rename from src/Database/DestinationApplicationEntityConfiguration.cs rename to src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs index a1a131e70..845d4b96c 100644 --- a/src/Database/DestinationApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs @@ -19,7 +19,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class DestinationApplicationEntityConfiguration : IEntityTypeConfiguration<DestinationApplicationEntity> { diff --git a/src/Database/InferenceRequestConfiguration.cs b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs similarity index 97% rename from src/Database/InferenceRequestConfiguration.cs rename to src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs index fd740b7d3..70de97896 100644 --- a/src/Database/InferenceRequestConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs @@ -25,7 +25,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api.Rest; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class InferenceRequestConfiguration : IEntityTypeConfiguration<InferenceRequest> { diff --git a/src/Database/MonaiApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs similarity index 97% rename from src/Database/MonaiApplicationEntityConfiguration.cs rename to src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs index d04189f6e..4e79c3f6b 100644 --- a/src/Database/MonaiApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs @@ -25,7 +25,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class MonaiApplicationEntityConfiguration : IEntityTypeConfiguration<MonaiApplicationEntity> { diff --git a/src/Database/PayloadConfiguration.cs b/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs similarity index 97% rename from src/Database/PayloadConfiguration.cs rename to src/Database/EntityFramework/Configuration/PayloadConfiguration.cs index f319d43ae..b9d635418 100644 --- a/src/Database/PayloadConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs @@ -24,7 +24,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api.Storage; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class PayloadConfiguration : IEntityTypeConfiguration<Payload> { diff --git a/src/Database/EntityFramework/Configuration/SR.cs b/src/Database/EntityFramework/Configuration/SR.cs new file mode 100644 index 000000000..6bbab8ff2 --- /dev/null +++ b/src/Database/EntityFramework/Configuration/SR.cs @@ -0,0 +1,28 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +{ + public static class SR + { + /// <summary> + /// Name of the key for retrieve database connection string. + /// </summary> + public const string DatabaseConnectionStringKey = "InformaticsGatewayDatabase"; + + } +} diff --git a/src/Database/SourceApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs similarity index 94% rename from src/Database/SourceApplicationEntityConfiguration.cs rename to src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs index ff7b5d160..2fc81f657 100644 --- a/src/Database/SourceApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class SourceApplicationEntityConfiguration : IEntityTypeConfiguration<SourceApplicationEntity> { diff --git a/src/Database/StorageMetadataWrapperEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs similarity index 91% rename from src/Database/StorageMetadataWrapperEntityConfiguration.cs rename to src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs index f0620e17a..3991abdac 100644 --- a/src/Database/StorageMetadataWrapperEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs @@ -17,8 +17,9 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; +using Monai.Deploy.InformaticsGateway.Database.Api; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations { internal class StorageMetadataWrapperEntityConfiguration : IEntityTypeConfiguration<StorageMetadataWrapper> { diff --git a/src/Database/EntityFramework/EfDatabaseMigrationManager.cs b/src/Database/EntityFramework/EfDatabaseMigrationManager.cs new file mode 100644 index 000000000..edbd87511 --- /dev/null +++ b/src/Database/EntityFramework/EfDatabaseMigrationManager.cs @@ -0,0 +1,48 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework +{ + public class EfDatabaseMigrationManager : IDatabaseMigrationManager + { + public IHost Migrate(IHost host) + { + using (var scope = host.Services.CreateScope()) + { + using (var dbContext = scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>()) + { + try + { + dbContext.Database.Migrate(); + } + catch (Exception ex) + { + var logger = scope.ServiceProvider.GetService<ILogger>(); + logger?.Log(LogLevel.Critical, "Failed to migrate database", ex); + throw; + } + } + } + return host; + } + } +} diff --git a/src/Database/InformaticsGatewayContext.cs b/src/Database/EntityFramework/InformaticsGatewayContext.cs similarity index 96% rename from src/Database/InformaticsGatewayContext.cs rename to src/Database/EntityFramework/InformaticsGatewayContext.cs index 562684a76..91b0be743 100644 --- a/src/Database/InformaticsGatewayContext.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContext.cs @@ -18,8 +18,9 @@ using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { public class InformaticsGatewayContext : DbContext { diff --git a/src/Database/InformaticsGatewayContextFactory.cs b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs similarity index 85% rename from src/Database/InformaticsGatewayContextFactory.cs rename to src/Database/EntityFramework/InformaticsGatewayContextFactory.cs index 80725518d..9bbf82a08 100644 --- a/src/Database/InformaticsGatewayContextFactory.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs @@ -18,9 +18,8 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; -using Monai.Deploy.InformaticsGateway.Configuration; -namespace Monai.Deploy.InformaticsGateway.Database +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { /// <summary> /// Used to EF migration. @@ -30,13 +29,13 @@ public class InformaticsGatewayContextFactory : IDesignTimeDbContextFactory<Info public InformaticsGatewayContext CreateDbContext(string[] args) { var configuration = new ConfigurationBuilder() - .SetBasePath(System.IO.Directory.GetCurrentDirectory()) + .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); - var connectionString = configuration.GetConnectionString(InformaticsGatewayConfiguration.DatabaseConnectionStringKey); + var connectionString = configuration.GetConnectionString(Configurations.SR.DatabaseConnectionStringKey); builder.UseSqlite(connectionString); return new InformaticsGatewayContext(builder.Options); diff --git a/src/InformaticsGateway/Repositories/InformaticsGatewayRepository.cs b/src/Database/EntityFramework/InformaticsGatewayRepository.cs similarity index 90% rename from src/InformaticsGateway/Repositories/InformaticsGatewayRepository.cs rename to src/Database/EntityFramework/InformaticsGatewayRepository.cs index e6d0f43c4..68feb8f74 100644 --- a/src/InformaticsGateway/Repositories/InformaticsGatewayRepository.cs +++ b/src/Database/EntityFramework/InformaticsGatewayRepository.cs @@ -14,20 +14,15 @@ * limitations under the License. */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; using Ardalis.GuardClauses; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.Extensions.DependencyInjection; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.Api; -namespace Monai.Deploy.InformaticsGateway.Repositories +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { - internal class InformaticsGatewayRepository<T> : IDisposable, IInformaticsGatewayRepository<T> where T : class + public class InformaticsGatewayRepository<T> : IDisposable, IInformaticsGatewayRepository<T> where T : class { private readonly IServiceScope _scope; private readonly InformaticsGatewayContext _informaticsGatewayContext; @@ -65,13 +60,13 @@ public EntityEntry<T> Update(T entity) { Guard.Against.Null(entity, nameof(entity)); - return _informaticsGatewayContext.Update<T>(entity); + return _informaticsGatewayContext.Update(entity); } public EntityEntry<T> Remove(T entity) { Guard.Against.Null(entity, nameof(entity)); - return _informaticsGatewayContext.Remove<T>(entity); + return _informaticsGatewayContext.Remove(entity); } public void RemoveRange(params T[] entities) diff --git a/src/Database/Migrations/20220203222116_R1_Initialize.Designer.cs b/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.Designer.cs similarity index 98% rename from src/Database/Migrations/20220203222116_R1_Initialize.Designer.cs rename to src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.Designer.cs index 11e07508b..d56e983c7 100644 --- a/src/Database/Migrations/20220203222116_R1_Initialize.Designer.cs +++ b/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.Designer.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/Migrations/20220203222116_R1_Initialize.cs b/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs similarity index 100% rename from src/Database/Migrations/20220203222116_R1_Initialize.cs rename to src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs diff --git a/src/Database/Migrations/20220211175051_R1_Patch.Designer.cs b/src/Database/EntityFramework/Migrations/20220211175051_R1_Patch.Designer.cs similarity index 98% rename from src/Database/Migrations/20220211175051_R1_Patch.Designer.cs rename to src/Database/EntityFramework/Migrations/20220211175051_R1_Patch.Designer.cs index 9c9183a4c..592fa70fc 100644 --- a/src/Database/Migrations/20220211175051_R1_Patch.Designer.cs +++ b/src/Database/EntityFramework/Migrations/20220211175051_R1_Patch.Designer.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/Migrations/20220211175051_R1_Patch.cs b/src/Database/EntityFramework/Migrations/20220211175051_R1_Patch.cs similarity index 100% rename from src/Database/Migrations/20220211175051_R1_Patch.cs rename to src/Database/EntityFramework/Migrations/20220211175051_R1_Patch.cs diff --git a/src/Database/Migrations/20220613235333_R2_0.2.0.Designer.cs b/src/Database/EntityFramework/Migrations/20220613235333_R2_0.2.0.Designer.cs similarity index 98% rename from src/Database/Migrations/20220613235333_R2_0.2.0.Designer.cs rename to src/Database/EntityFramework/Migrations/20220613235333_R2_0.2.0.Designer.cs index e93ef1cac..7a8a65c50 100644 --- a/src/Database/Migrations/20220613235333_R2_0.2.0.Designer.cs +++ b/src/Database/EntityFramework/Migrations/20220613235333_R2_0.2.0.Designer.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/Migrations/20220613235333_R2_0.2.0.cs b/src/Database/EntityFramework/Migrations/20220613235333_R2_0.2.0.cs similarity index 100% rename from src/Database/Migrations/20220613235333_R2_0.2.0.cs rename to src/Database/EntityFramework/Migrations/20220613235333_R2_0.2.0.cs diff --git a/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs b/src/Database/EntityFramework/Migrations/20220802200605_R3_0.3.0.Designer.cs similarity index 99% rename from src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs rename to src/Database/EntityFramework/Migrations/20220802200605_R3_0.3.0.Designer.cs index 824553cd6..870df0416 100644 --- a/src/Database/Migrations/20220802200605_R3_0.3.0.Designer.cs +++ b/src/Database/EntityFramework/Migrations/20220802200605_R3_0.3.0.Designer.cs @@ -20,7 +20,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/Migrations/20220802200605_R3_0.3.0.cs b/src/Database/EntityFramework/Migrations/20220802200605_R3_0.3.0.cs similarity index 100% rename from src/Database/Migrations/20220802200605_R3_0.3.0.cs rename to src/Database/EntityFramework/Migrations/20220802200605_R3_0.3.0.cs diff --git a/src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs b/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.Designer.cs similarity index 99% rename from src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs rename to src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.Designer.cs index e3ff92b16..122b5ebd7 100644 --- a/src/Database/Migrations/20221010184458_R3_0.3.2.Designer.cs +++ b/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.Designer.cs @@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/Migrations/20221010184458_R3_0.3.2.cs b/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs similarity index 100% rename from src/Database/Migrations/20221010184458_R3_0.3.2.cs rename to src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs diff --git a/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs similarity index 99% rename from src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs rename to src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs index 18a940cef..2940a6ae8 100644 --- a/src/Database/Migrations/InformaticsGatewayContextModelSnapshot.cs +++ b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; #nullable disable diff --git a/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj new file mode 100644 index 000000000..50cf4f1aa --- /dev/null +++ b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj @@ -0,0 +1,55 @@ +<!-- + ~ Copyright 2021-2022 MONAI Consortium + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. +--> + +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <RootNamespace>Monai.Deploy.InformaticsGateway.Database.EntityFramework</RootNamespace> + <TargetFramework>net6.0</TargetFramework> + <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> + <ImplicitUsings>enable</ImplicitUsings> + <CodeAnalysisRuleSet>..\..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="Test\**" /> + <EmbeddedResource Remove="Test\**" /> + <None Remove="Test\**" /> + </ItemGroup> + + <ItemGroup> + <AdditionalFiles Include="..\..\.sonarlint\project-monai_monai-deploy-informatics-gateway\CSharp\SonarLint.xml" Link="SonarLint.xml" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> + <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> + <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> + <ProjectReference Include="..\..\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> + <ProjectReference Include="..\Api\Monai.Deploy.InformaticsGateway.Database.Api.csproj" /> + </ItemGroup> +</Project> diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index 0026b843c..2ba6321ea 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -26,6 +26,26 @@ <ItemGroup> <ProjectReference Include="..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> <ProjectReference Include="..\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> + <ProjectReference Include="Api\Monai.Deploy.InformaticsGateway.Database.Api.csproj" /> + <ProjectReference Include="EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> + </ItemGroup> + + <ItemGroup> + <Compile Remove="EntityFramework\**" /> + <EmbeddedResource Remove="EntityFramework\**" /> + <None Remove="EntityFramework\**" /> + </ItemGroup> + + <ItemGroup> + <Compile Remove="Mongo\**" /> + <EmbeddedResource Remove="Mongo\**" /> + <None Remove="Mongo\**" /> + </ItemGroup> + + <ItemGroup> + <Compile Remove="Api\**" /> + <EmbeddedResource Remove="Api\**" /> + <None Remove="Api\**" /> </ItemGroup> <ItemGroup> @@ -43,11 +63,6 @@ <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10"> - <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> - <PrivateAssets>all</PrivateAssets> - </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Common/PayloadExtensions.cs b/src/InformaticsGateway/Common/PayloadExtensions.cs index 3733f7e94..190a65347 100644 --- a/src/InformaticsGateway/Common/PayloadExtensions.cs +++ b/src/InformaticsGateway/Common/PayloadExtensions.cs @@ -20,8 +20,8 @@ using Ardalis.GuardClauses; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Polly; namespace Monai.Deploy.InformaticsGateway.Common @@ -97,6 +97,5 @@ await Policy }) .ConfigureAwait(false); } - } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 41c6e2516..82ca2efec 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -77,6 +77,7 @@ <ProjectReference Include="..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> <ProjectReference Include="..\Common\Monai.Deploy.InformaticsGateway.Common.csproj" /> <ProjectReference Include="..\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> + <ProjectReference Include="..\Database\EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\Database\Monai.Deploy.InformaticsGateway.Database.csproj" /> <ProjectReference Include="..\DicomWebClient\Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj" /> </ItemGroup> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index f1212ad8e..271255416 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -18,10 +18,8 @@ using System.IO; using System.IO.Abstractions; using System.Reflection; -using Ardalis.GuardClauses; using FellowOakDicom.Log; using Microsoft.AspNetCore.Hosting; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; @@ -67,20 +65,11 @@ private static void Main(string[] args) logger.Info($"Initializing MONAI Deploy Informatics Gateway v{assemblyVersionNumber}"); var host = CreateHostBuilder(args).Build(); - InitializeDatabase(host); + host.MigrateDatabase(); host.Run(); logger.Info("MONAI Deploy Informatics Gateway shutting down."); } - internal static void InitializeDatabase(IHost host) - { - Guard.Against.Null(host, nameof(host)); - - using var serviceScope = host.Services.CreateScope(); - var context = serviceScope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); - context.Database.Migrate(); - } - internal static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureHostConfiguration(configHost => @@ -112,9 +101,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<InformaticsGatewayConfiguration>, ConfigurationValidator>()); - services.AddDbContext<InformaticsGatewayContext>( - options => options.UseSqlite(hostContext.Configuration.GetConnectionString(InformaticsGatewayConfiguration.DatabaseConnectionStringKey)), - ServiceLifetime.Transient); + services.ConfigureDatabase(hostContext.Configuration?.GetSection("ConnectionStrings")); services.AddTransient<IFileSystem, FileSystem>(); services.AddTransient<IDicomToolkit, DicomToolkit>(); @@ -123,7 +110,6 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddTransient<IStreamsWriter, StreamsWriter>(); services.AddTransient<IApplicationEntityHandler, ApplicationEntityHandler>(); - services.AddScoped(typeof(IInformaticsGatewayRepository<>), typeof(InformaticsGatewayRepository<>)); services.AddScoped<IStorageMetadataWrapperRepository, StorageMetadataWrapperRepository>(); services.AddScoped<IInferenceRequestRepository, InferenceRequestRepository>(); services.AddScoped<IPayloadMoveActionHandler, PayloadMoveActionHandler>(); diff --git a/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs b/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs index 00ac61e6f..02f3fe67d 100644 --- a/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs +++ b/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs @@ -36,7 +36,7 @@ public interface IInferenceRequestRepository /// <summary> /// Updates an inference request's status. /// The default implementation drops the request after 3 retries if status is - /// <see cref="Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequestStatus.Fail" />. + /// <see cref="InferenceRequestStatus.Fail" />. /// </summary> /// <param name="inferenceRequest">The inference request to be updated.</param> /// <param name="status">Current status of the inference request.</param> @@ -47,7 +47,7 @@ public interface IInferenceRequestRepository /// The default implementation blocks the call until a pending inference request is available for process. /// </summary> /// <param name="cancellationToken">cancellation token used to cancel the action.</param> - /// <returns><see cref="Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequest"/></returns> + /// <returns><see cref="InferenceRequest"/></returns> Task<InferenceRequest> Take(CancellationToken cancellationToken); /// <summary> diff --git a/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs b/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs index ca4aa16c0..a44cfdba7 100644 --- a/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs +++ b/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs @@ -24,6 +24,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; using Polly; diff --git a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs b/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs index a58f1d083..d82523520 100644 --- a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs +++ b/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs @@ -26,7 +26,7 @@ using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; using Polly; diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index 6f7733759..6a804fbb1 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -34,6 +34,7 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; using Monai.Deploy.InformaticsGateway.DicomWeb.Client.API; using Monai.Deploy.InformaticsGateway.Logging; diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index c5dbf5387..27bbdf55f 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -29,8 +29,8 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; namespace Monai.Deploy.InformaticsGateway.Services.Connectors { diff --git a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs index c2215f85f..71954c55e 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs @@ -27,8 +27,8 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.Storage.API; namespace Monai.Deploy.InformaticsGateway.Services.Connectors diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 28fd2b93a..42d21b18e 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -26,8 +26,9 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Events; using Monai.Deploy.Messaging.Messages; diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs index c5f2f0a7e..8aa4b77a2 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs @@ -29,8 +29,8 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; namespace Monai.Deploy.InformaticsGateway.Services.Connectors diff --git a/src/InformaticsGateway/Services/Export/ScuExportService.cs b/src/InformaticsGateway/Services/Export/ScuExportService.cs index 60372b993..5e1b987cf 100644 --- a/src/InformaticsGateway/Services/Export/ScuExportService.cs +++ b/src/InformaticsGateway/Services/Export/ScuExportService.cs @@ -29,8 +29,8 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.Messaging.Events; using Polly; diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index 7a0bc3b08..468a312c7 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -25,8 +25,8 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Scu; namespace Monai.Deploy.InformaticsGateway.Services.Http diff --git a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs index bc715d111..2ace1759d 100644 --- a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs @@ -26,8 +26,8 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Scp; namespace Monai.Deploy.InformaticsGateway.Services.Http diff --git a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs index 0478e9832..37cd526db 100644 --- a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs @@ -25,8 +25,8 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; namespace Monai.Deploy.InformaticsGateway.Services.Http { diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index fed574936..a510d91d8 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -28,7 +28,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Services.Fhir; namespace Monai.Deploy.InformaticsGateway.Services.Http diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index dc44710bb..402f180e8 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -27,8 +27,8 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Storage; namespace Monai.Deploy.InformaticsGateway.Services.Scp diff --git a/src/InformaticsGateway/Services/Scu/ScuService.cs b/src/InformaticsGateway/Services/Scu/ScuService.cs index 4ff542c9e..62c8492d9 100644 --- a/src/InformaticsGateway/Services/Scu/ScuService.cs +++ b/src/InformaticsGateway/Services/Scu/ScuService.cs @@ -30,9 +30,8 @@ using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Common; -using Monai.Deploy.InformaticsGateway.Services.Scu; -namespace Monai.Deploy.InformaticsGateway.Services.Scp +namespace Monai.Deploy.InformaticsGateway.Services.Scu { internal sealed class ScuService : IHostedService, IDisposable, IMonaiService { diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index d78a5da67..21e0c600f 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -51,6 +51,7 @@ <ItemGroup> <ProjectReference Include="..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> + <ProjectReference Include="..\..\Database\EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.csproj" /> </ItemGroup> diff --git a/src/InformaticsGateway/Test/ProgramTest.cs b/src/InformaticsGateway/Test/ProgramTest.cs index 9ea89b2c9..8ea0ac349 100644 --- a/src/InformaticsGateway/Test/ProgramTest.cs +++ b/src/InformaticsGateway/Test/ProgramTest.cs @@ -36,8 +36,6 @@ public void Startup_RunsProperly() var host = Program.CreateHostBuilder(System.Array.Empty<string>()).Build(); Assert.NotNull(host); - - Program.InitializeDatabase(host); } } } diff --git a/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs index d0e5c1c6a..5b211cfa6 100644 --- a/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs +++ b/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs @@ -21,6 +21,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; diff --git a/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs index 0bea243f1..51798e112 100644 --- a/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs +++ b/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs @@ -21,8 +21,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Moq; using xRetry; using Xunit; diff --git a/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs index f6b35e021..f1c3ebd8d 100644 --- a/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs +++ b/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Repositories; using Moq; using Xunit; diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index f07b59965..5eeb5724e 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -32,6 +32,7 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs index 290906ca3..5ed9e0984 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; @@ -74,7 +74,7 @@ public void GivenAPayloadAssembler_WhenInitialized_ExpectParametersToBeValidated Assert.Throws<ArgumentNullException>(() => new PayloadAssembler(_options, _logger.Object, null)); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeout_ExpectDefaultTimeoutToBeUsed() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); @@ -88,7 +88,7 @@ public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeou _cancellationTokenSource.Cancel(); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectPayloadsInCreatedStateToBeRemoved() { var dataset = new List<Payload> @@ -110,7 +110,7 @@ public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectP _repository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.Exactly(2)); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayloadAssembler_WhenDisposed_ExpectResourceToBeCleanedUp() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); @@ -126,7 +126,7 @@ public async Task GivenAPayloadAssembler_WhenDisposed_ExpectResourceToBeCleanedU _logger.VerifyLoggingMessageBeginsWith($"Number of collections in queue", LogLevel.Trace, Times.Never()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectToRetryXTimes() { int callCount = 0; @@ -152,7 +152,7 @@ public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectT _logger.VerifyLoggingMessageBeginsWith($"Number of buckets active: 1.", LogLevel.Trace, Times.AtLeastOnce()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEvent_ExpectToBeAddedToQueue() { _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())).Callback(() => @@ -171,7 +171,7 @@ public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEve _logger.VerifyLoggingMessageBeginsWith($"Bucket A sent to processing queue", LogLevel.Information, Times.Never()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayloadThatHasCompletedUploads_WhenProcessedByTimedEvent_ExpectToBeAddedToQueue() { var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs index 1c8434245..8dfe7de9d 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.Storage.API; using Moq; @@ -70,7 +70,7 @@ public PayloadMoveActionHandlerTest() _options.Value.Storage.StorageServiceBucketName = "bucket"; } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new PayloadMoveActionHandler(null, null, null)); @@ -80,7 +80,7 @@ public void GivenAPayloadMoveActionHandler_WhenInitialized_ExpectParametersToBeV _ = new PayloadMoveActionHandler(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayloadInIncorrectState_WhenHandlerIsCalled_ExpectExceptionToBeThrown() { var resetEvent = new ManualResetEventSlim(); @@ -144,7 +144,7 @@ public async Task GivenAPayload_WhenHandlerFailedToCopyFiles_ExpectToBePutBackIn Assert.Equal(retryCount + 1, payload.RetryCount); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToCopyFiles_ExpectPayloadToBeDeleted() { var moveAction = new ActionBlock<Payload>(payload => @@ -175,7 +175,7 @@ public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToC _repository.Verify(p => p.Remove(payload), Times.Once()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAPayload_WhenAllFilesAreMove_ExpectPayloadToBeAddedToNotificationQueue() { var notifyEvent = new ManualResetEventSlim(); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs index 67bc77e7f..1f6f9d780 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Messages; diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs index a67307b17..1aa87f2f3 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs @@ -25,7 +25,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.SharedTest; using Monai.Deploy.Messaging.API; @@ -85,7 +85,7 @@ public PayloadNotificationServiceTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAPayloadNotificationService_AtInitialization_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new PayloadNotificationService(null, null, null)); @@ -93,7 +93,7 @@ public void GivenAPayloadNotificationService_AtInitialization_ExpectParametersTo Assert.Throws<ArgumentNullException>(() => new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, null)); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_ExpectServiceToStopAnyProcessing() { var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Move }; @@ -116,7 +116,7 @@ public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_Expec _logger.VerifyLogging($"Uploading payload {payload.Id} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Never()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloadsToBeRestored() { var testData = new List<Payload> @@ -139,7 +139,7 @@ public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloads _payloadNotificationActionHandler.Verify(p => p.NotifyAsync(It.IsAny<Payload>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<CancellationToken>()), Times.AtLeastOnce()); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTheMoveActionHandler() { var resetEvent = new ManualResetEventSlim(); @@ -157,7 +157,7 @@ public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTh resetEvent.Wait(); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAPayload_WhenDequedFromPayloadAssembler_ExpectThePayloadBeProcessedByTheMoveActionHandler() { var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Move }; diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index 06cfd5c51..6573eac55 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -29,7 +29,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Export; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index 7d14b2758..0f4513309 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -25,7 +25,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scu; using Moq; diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs index df1c0ad0e..466e91496 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs @@ -25,7 +25,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scp; using Moq; diff --git a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs index 5cf5d1d73..e4113d6d4 100644 --- a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs @@ -25,7 +25,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Http; using Moq; using xRetry; diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs index 023b618dd..cb2e023ab 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs @@ -27,7 +27,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api; using Monai.Deploy.InformaticsGateway.Services.Scp; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs index 13444945c..0b04bfa28 100644 --- a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -22,7 +22,6 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Services.Scp; using Monai.Deploy.InformaticsGateway.Services.Scu; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; diff --git a/src/InformaticsGateway/Test/appsettings.json b/src/InformaticsGateway/Test/appsettings.json index ab2d2eeac..c48c5da51 100644 --- a/src/InformaticsGateway/Test/appsettings.json +++ b/src/InformaticsGateway/Test/appsettings.json @@ -1,5 +1,6 @@ { "ConnectionStrings": { + "Type": "Sqlite", "InformaticsGatewayDatabase": "Data Source=migdev.db" }, "InformaticsGateway": { diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index 7f444e1b1..d8125499a 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -1,5 +1,6 @@ { "ConnectionStrings": { + "Type": "Sqlite", "InformaticsGatewayDatabase": "Data Source=/database/mig.db" }, "InformaticsGateway": { diff --git a/src/Monai.Deploy.InformaticsGateway.sln b/src/Monai.Deploy.InformaticsGateway.sln index ac7be6905..91eee03f2 100644 --- a/src/Monai.Deploy.InformaticsGateway.sln +++ b/src/Monai.Deploy.InformaticsGateway.sln @@ -42,7 +42,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGat EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI", "DicomWebClient\CLI\Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj", "{689E0066-81DA-4602-B058-D93389DF5DBD}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.Test", "Database\Test\Monai.Deploy.InformaticsGateway.Database.Test.csproj", "{D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.EntityFramework", "Database\EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj", "{313B68CE-A0DB-4DE2-8359-AC777F5997FE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.Api", "Database\Api\Monai.Deploy.InformaticsGateway.Database.Api.csproj", "{366CA24C-B546-46AD-8607-AABE4F0F4864}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.Api.Test", "Database\Api\Test\Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj", "{7F56994D-5310-467F-96FC-87C26F151737}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -282,18 +286,42 @@ Global {689E0066-81DA-4602-B058-D93389DF5DBD}.Release|x64.Build.0 = Release|Any CPU {689E0066-81DA-4602-B058-D93389DF5DBD}.Release|x86.ActiveCfg = Release|Any CPU {689E0066-81DA-4602-B058-D93389DF5DBD}.Release|x86.Build.0 = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|x64.ActiveCfg = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|x64.Build.0 = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|x86.ActiveCfg = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Debug|x86.Build.0 = Debug|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|Any CPU.Build.0 = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|x64.ActiveCfg = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|x64.Build.0 = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|x86.ActiveCfg = Release|Any CPU - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC}.Release|x86.Build.0 = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|x64.ActiveCfg = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|x64.Build.0 = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|x86.ActiveCfg = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Debug|x86.Build.0 = Debug|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|Any CPU.Build.0 = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|x64.ActiveCfg = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|x64.Build.0 = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|x86.ActiveCfg = Release|Any CPU + {313B68CE-A0DB-4DE2-8359-AC777F5997FE}.Release|x86.Build.0 = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|Any CPU.Build.0 = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|x64.ActiveCfg = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|x64.Build.0 = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|x86.ActiveCfg = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Debug|x86.Build.0 = Debug|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|Any CPU.ActiveCfg = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|Any CPU.Build.0 = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|x64.ActiveCfg = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|x64.Build.0 = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|x86.ActiveCfg = Release|Any CPU + {366CA24C-B546-46AD-8607-AABE4F0F4864}.Release|x86.Build.0 = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|x64.ActiveCfg = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|x64.Build.0 = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|x86.ActiveCfg = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Debug|x86.Build.0 = Debug|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|Any CPU.Build.0 = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|x64.ActiveCfg = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|x64.Build.0 = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|x86.ActiveCfg = Release|Any CPU + {7F56994D-5310-467F-96FC-87C26F151737}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -308,7 +336,7 @@ Global {E1583FDB-9DC1-46E7-BB14-AFC2A7608600} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {28099DFC-8937-4508-848C-35C99E56C121} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {0BB99F0E-669F-4884-9DB1-AFA16CC9C67B} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} - {D5BA6DE3-E861-44D4-BD1B-45FFA57649AC} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} + {7F56994D-5310-467F-96FC-87C26F151737} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E23DC856-D033-49F6-9BC6-9F1D0ECD05CB} diff --git a/tests/Integration.Test/Hooks/SqlHooks.cs b/tests/Integration.Test/Hooks/SqlHooks.cs index df3873605..3d48f0c68 100644 --- a/tests/Integration.Test/Hooks/SqlHooks.cs +++ b/tests/Integration.Test/Hooks/SqlHooks.cs @@ -16,7 +16,7 @@ using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api.Rest; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; using Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions; using TechTalk.SpecFlow.Infrastructure; diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 8adce514c..293799c5b 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -62,7 +62,9 @@ <ProjectReference Include="..\..\src\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> <ProjectReference Include="..\..\src\Client\Monai.Deploy.InformaticsGateway.Client.csproj" /> <ProjectReference Include="..\..\src\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> + <ProjectReference Include="..\..\src\Database\EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\..\src\Database\Monai.Deploy.InformaticsGateway.Database.csproj" /> + <ProjectReference Include="..\..\src\Database\Sqlite\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\..\src\DicomWebClient\Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj" /> </ItemGroup> diff --git a/tests/Integration.Test/configs/informatics-gateway.json b/tests/Integration.Test/configs/informatics-gateway.json index 9a7e749b8..fb7217b8d 100644 --- a/tests/Integration.Test/configs/informatics-gateway.json +++ b/tests/Integration.Test/configs/informatics-gateway.json @@ -1,5 +1,6 @@ { "ConnectionStrings": { + "Type": "Sqlite", "InformaticsGatewayDatabase": "Data Source=/database/mig.db" }, "InformaticsGateway": { @@ -108,4 +109,4 @@ "InformaticsGatewayServerEndpoint": "http://localhost:5000", "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } -} \ No newline at end of file +} From 9a0a70537ba1b7aebc69ab05de14f3f9b615f9fc Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 10 Nov 2022 09:49:04 -0800 Subject: [PATCH 083/101] Enable running integration test within VS (#239) * Enable running integration test in VS * Update docker compose template * Remove nugetdefence scan * Cleanup minio after scenario * Update messaging lib to 0.1.11 * Use ubuntu-22.04 for integration test Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 11 +- doc/dependency_decisions.yml | 4 +- .../configs/orthanc.json | 0 docker-compose/docker-compose.yml | 67 +- docs/compliance/third-party-licenses.md | 2574 ++++++++--------- ...Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- ...oy.InformaticsGateway.Configuration.csproj | 2 +- src/InformaticsGateway/AssemblyInfo.cs | 1 + .../Logging/Log.100.200.ScpService.cs | 4 +- .../Logging/Log.3000.PayloadAssembler.cs | 2 +- .../Logging/Log.500.ExportService.cs | 3 + .../Monai.Deploy.InformaticsGateway.csproj | 4 +- .../Services/Export/ExportServiceBase.cs | 6 + .../Services/Scp/ScpService.cs | 2 +- .../Test/DummyMessagingService.cs | 2 + .../Connectors/PayloadAssemblerTest.cs | 6 +- tests/Integration.Test/.env.dev | 1 - tests/Integration.Test/Common/Assertions.cs | 283 ++ tests/Integration.Test/Common/DataProvider.cs | 180 ++ .../Common/DicomCEchoDataClient.cs | 76 + .../DicomCStoreDataClient.cs} | 67 +- .../Integration.Test/Common/DicomDataSpecs.cs | 49 + .../{Drivers => Common}/DicomScp.cs | 46 +- .../Common/DicomWebDataSink.cs | 85 + tests/Integration.Test/Common/FhirDataSink.cs | 63 + tests/Integration.Test/Common/FhirMessages.cs | 27 + tests/Integration.Test/Common/Hl7DataSink.cs | 139 + tests/Integration.Test/Common/Hl7Messages.cs | 24 + tests/Integration.Test/Common/IDataClient.cs | 24 + .../Integration.Test/Common/MinioDataSink.cs | 95 + .../Common/RabbitConnectionFactory.cs | 89 + .../Drivers/Configurations.cs | 115 +- .../Drivers/DicomInstanceGenerator.cs | 46 +- .../SqlHooks.cs => Drivers/EfDataProvider.cs} | 27 +- .../IDatabaseDataProvider.cs} | 19 +- .../Drivers/RabbitMqConsumer.cs | 89 + .../Features/DicomWebExport.feature | 5 +- .../Features/DicomWebStow.feature | 16 +- .../Features/HealthLevel7.feature | 6 +- .../Integration.Test/Hooks/HttpClientHooks.cs | 45 - tests/Integration.Test/Hooks/RabbitMqHooks.cs | 149 - tests/Integration.Test/Hooks/ScpHooks.cs | 62 - tests/Integration.Test/Hooks/TestHooks.cs | 197 ++ ...InformaticsGateway.Integration.Test.csproj | 21 +- tests/Integration.Test/README.md | 23 +- .../StepDefinitions/AcrApiStepDefinitions.cs | 205 +- .../DicomDimseScpServicesStepDefinitions.cs | 90 +- .../DicomWebStowServiceStepDefinitions.cs | 87 +- .../ExportServicesStepDefinitions.cs | 144 +- .../StepDefinitions/FhirDefinitions.cs | 155 +- .../HealthLevel7Definitions.cs | 196 +- .../StepDefinitions/SharedDefinitions.cs | 127 +- tests/Integration.Test/appsettings.ext.json | 9 + tests/Integration.Test/appsettings.json | 106 +- .../configs/informatics-gateway.json | 112 - tests/Integration.Test/configs/rabbitmq.json | 74 - .../data/fhir/1.0.2 DSTU2/Observation.json | 136 +- .../data/fhir/1.0.2 DSTU2/Observation.xml | 48 +- .../data/fhir/1.0.2 DSTU2/Patient.json | 108 +- .../data/fhir/1.0.2 DSTU2/Patient.xml | 33 +- .../data/fhir/3.0.2 STU3/Bundle.json | 70 +- .../data/fhir/3.0.2 STU3/Bundle.xml | 374 +-- .../data/fhir/3.0.2 STU3/DiagnosticReport.xml | 1526 +++++----- .../data/fhir/3.0.2 STU3/NutritionOrder.json | 192 +- .../data/fhir/3.0.2 STU3/Questionnaire.json | 314 +- .../data/fhir/3.0.2 STU3/Questionnaire.xml | 238 +- .../data/fhir/4.0.1 R4/CodeSystem.json | 330 +-- .../data/fhir/4.0.1 R4/CodeSystem.xml | 95 +- .../data/fhir/4.0.1 R4/Observation.json | 204 +- .../data/fhir/4.0.1 R4/Observation.xml | 60 +- .../data/fhir/4.0.1 R4/OperationOutcome.json | 46 +- .../data/fhir/4.0.1 R4/OperationOutcome.xml | 28 +- .../data/fhir/4.0.1 R4/Patient.json | 202 +- .../data/fhir/4.0.1 R4/Patient.xml | 105 +- .../data/fhir/4.3.0 R4B/Bundle.json | 444 +-- .../data/fhir/4.3.0 R4B/Bundle.xml | 240 +- .../data/fhir/4.3.0 R4B/Observation.xml | 108 +- .../data/fhir/4.3.0 R4B/Patient.json | 200 +- .../data/fhir/4.3.0 R4B/Patient.xml | 284 +- tests/Integration.Test/docker-compose.yml | 123 - tests/Integration.Test/nlog.config | 88 + tests/Integration.Test/run.sh | 89 +- tests/Integration.Test/study.json | 2 +- 83 files changed, 6040 insertions(+), 5710 deletions(-) rename {tests/Integration.Test => docker-compose}/configs/orthanc.json (100%) delete mode 100644 tests/Integration.Test/.env.dev create mode 100644 tests/Integration.Test/Common/Assertions.cs create mode 100644 tests/Integration.Test/Common/DataProvider.cs create mode 100644 tests/Integration.Test/Common/DicomCEchoDataClient.cs rename tests/Integration.Test/{Drivers/DicomScu.cs => Common/DicomCStoreDataClient.cs} (53%) create mode 100644 tests/Integration.Test/Common/DicomDataSpecs.cs rename tests/Integration.Test/{Drivers => Common}/DicomScp.cs (74%) create mode 100644 tests/Integration.Test/Common/DicomWebDataSink.cs create mode 100644 tests/Integration.Test/Common/FhirDataSink.cs create mode 100644 tests/Integration.Test/Common/FhirMessages.cs create mode 100644 tests/Integration.Test/Common/Hl7DataSink.cs create mode 100644 tests/Integration.Test/Common/Hl7Messages.cs create mode 100644 tests/Integration.Test/Common/IDataClient.cs create mode 100644 tests/Integration.Test/Common/MinioDataSink.cs create mode 100644 tests/Integration.Test/Common/RabbitConnectionFactory.cs rename tests/Integration.Test/{Hooks/SqlHooks.cs => Drivers/EfDataProvider.cs} (63%) rename tests/Integration.Test/{Hooks/DicomWebStowHooks.cs => Drivers/IDatabaseDataProvider.cs} (54%) create mode 100644 tests/Integration.Test/Drivers/RabbitMqConsumer.cs delete mode 100644 tests/Integration.Test/Hooks/HttpClientHooks.cs delete mode 100644 tests/Integration.Test/Hooks/RabbitMqHooks.cs delete mode 100644 tests/Integration.Test/Hooks/ScpHooks.cs create mode 100644 tests/Integration.Test/Hooks/TestHooks.cs create mode 100644 tests/Integration.Test/appsettings.ext.json delete mode 100644 tests/Integration.Test/configs/informatics-gateway.json delete mode 100644 tests/Integration.Test/configs/rabbitmq.json delete mode 100644 tests/Integration.Test/docker-compose.yml create mode 100644 tests/Integration.Test/nlog.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b3e4635e..61e14f6ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -149,13 +149,6 @@ jobs: run: dotnet build -c ${{ env.BUILD_CONFIG }} --nologo ${{ env.SOLUTION }} working-directory: ./src - - name: NuGetDefense Scanning - continue-on-error: true - run: | - sed -i "s/OSSINDEXAPI_TOKEN/$OSSINDEXAPI_TOKEN/g" NuGetDefense.json - sed -i "s/OSSINDEXAPI_USERNAME/$OSSINDEXAPI_USERNAME/g" NuGetDefense.json - nugetdefense -p src/${{ env.SOLUTION }} --settings-file NuGetDefense.json - - name: Secret detection uses: gitleaks/gitleaks-action@v1.6.0 @@ -237,9 +230,8 @@ jobs: verbose: true integration-test: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 timeout-minutes: 30 - needs: [build] strategy: matrix: feature: [AcrApi, DicomDimseScp, DicomDimseScu, DicomWebExport, DicomWebStow, HealthLevel7, Fhir] @@ -285,7 +277,6 @@ jobs: name: integration-${{ matrix.feature }} path: | ${{ github.workspace }}/LivingDoc.html - ${{ github.workspace }}/metrics.log ${{ github.workspace }}/services.log ${{ github.workspace }}/run.log retention-days: 30 diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 0a30a4c56..4cff5eed6 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -791,14 +791,14 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.9 + - 0.1.11 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.9 + - 0.1.11 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage diff --git a/tests/Integration.Test/configs/orthanc.json b/docker-compose/configs/orthanc.json similarity index 100% rename from tests/Integration.Test/configs/orthanc.json rename to docker-compose/configs/orthanc.json diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 88658a0bc..eba0d0c9f 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -15,7 +15,7 @@ version: "3.9" services: rabbitmq: - image: rabbitmq:3-management + image: rabbitmq:3.10-management hostname: rabbitmq ports: - 5672:5672 @@ -27,9 +27,10 @@ services: RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" healthcheck: test: rabbitmq-diagnostics -q ping - interval: 15s + start_period: 10s + interval: 5s timeout: 30s - retries: 3 + retries: 5 networks: - monaideploy @@ -48,34 +49,53 @@ services: MINIO_ROOT_PASSWORD: minioadmin healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] - interval: 15s + start_period: 10s + interval: 5s timeout: 30s - retries: 3 + retries: 5 networks: - monaideploy - createbuckets: - image: minio/mc + mongodb: + image: mongo:latest environment: - MINIO_ROOT_USER: minioadmin - MINIO_ROOT_PASSWORD: minioadmin - BUCKET_NAME: monaideploy - ENDPOINT: http://minio:9000 - depends_on: - minio: - condition: service_healthy + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: rootpassword + ports: + - 27017:27017 + volumes: + - ./.run/mongodb/:/data/db networks: - monaideploy - entrypoint: > - /bin/sh -c " - until (/usr/bin/mc config host add myminio $$ENDPOINT $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo '...waiting...' && sleep 1; done; - /usr/bin/mc mb myminio/$$BUCKET_NAME; - /usr/bin/mc policy set public myminio/$$BUCKET_NAME; - /usr/bin/mc ls myminio; - # exit 0 - " + healthcheck: + test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/productiondb --quiet + interval: 10s + timeout: 10s + retries: 5 + start_period: 40s + + orthanc: + image: osimis/orthanc:22.9.0 + hostname: orthanc + volumes: + - ./configs/orthanc.json:/etc/orthanc/orthanc.json + - .run/orthanc:/var/lib/orthanc/db/ + ports: + - "1114:1114" + - "8089:8089" + environment: + VERBOSE_ENABLED: "true" + networks: + - monaideploy + healthcheck: + test: ["CMD", "/probes/test-aliveness.py"] + start_period: 10s + retries: 3 + interval: 15s + timeout: 30s elasticsearch: + profiles: [ 'elk' ] image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION} hostname: elasticsearch volumes: @@ -98,6 +118,7 @@ services: retries: 50 logstash: + profiles: [ 'elk' ] image: docker.elastic.co/logstash/logstash:${ELASTIC_VERSION} volumes: - ./configs/logstash.yml:/usr/share/logstash/config/logstash.yml:ro,Z @@ -120,6 +141,7 @@ services: - monaideploy kibana: + profiles: [ 'elk' ] image: docker.elastic.co/kibana/kibana:${ELASTIC_VERSION} volumes: - ./configs/kibana.yml:/usr/share/kibana/config/kibana.yml:ro,Z @@ -139,6 +161,7 @@ services: retries: 120 kibana-setup: + profiles: [ 'elk' ] image: curlimages/curl:latest volumes: - ./configs/kibana.ndjson:/usr/share/kibana.ndjson diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index b627aabec..c85456584 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -1351,16 +1351,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -1395,9 +1395,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -1410,7 +1410,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -1443,7 +1443,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -1453,7 +1453,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2448,16 +2448,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -2492,9 +2492,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2507,7 +2507,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -2540,7 +2540,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -2550,7 +2550,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2648,16 +2648,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -2692,9 +2692,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2707,7 +2707,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -2740,7 +2740,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -2750,7 +2750,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5216,16 +5216,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5260,9 +5260,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5275,7 +5275,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5308,7 +5308,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5318,7 +5318,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5458,16 +5458,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5502,9 +5502,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5517,7 +5517,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5550,7 +5550,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5560,7 +5560,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5658,16 +5658,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -5702,9 +5702,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5717,7 +5717,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -5750,7 +5750,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -5760,7 +5760,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -6220,16 +6220,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -6264,9 +6264,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -6279,7 +6279,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -6312,7 +6312,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -6322,7 +6322,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -6870,14 +6870,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.9</summary> +<summary>Monai.Deploy.Messaging 0.1.11</summary> ## Monai.Deploy.Messaging -- Version: 0.1.9 +- Version: 0.1.11 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.9) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.11) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7098,14 +7098,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.9</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.11</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.9 +- Version: 0.1.11 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.9) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.11) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -8134,16 +8134,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -8178,9 +8178,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -8193,7 +8193,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -8226,7 +8226,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -8236,7 +8236,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -8946,7 +8946,7 @@ resources legal and licencing contributors -  + Please note: our license is an adaptation of the MIT X11 License and should be read as such. @@ -8958,10 +8958,10 @@ Copyright (c) 2000 - 2022 The Legion of the Bouncy Castle Inc. (http://www.bounc THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -  -  + + Site hosted by Tau Ceti Co-operative Ltd. @@ -10517,16 +10517,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -10561,9 +10561,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10576,7 +10576,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -10609,7 +10609,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -10619,7 +10619,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10717,16 +10717,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -10761,9 +10761,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10776,7 +10776,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -10809,7 +10809,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -10819,7 +10819,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10959,16 +10959,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11003,9 +11003,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11018,7 +11018,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11051,7 +11051,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11061,7 +11061,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11159,16 +11159,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11203,9 +11203,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11218,7 +11218,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11251,7 +11251,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11261,7 +11261,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11400,16 +11400,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11444,9 +11444,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11459,7 +11459,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11492,7 +11492,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11502,7 +11502,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11600,16 +11600,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -11644,9 +11644,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11659,7 +11659,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -11692,7 +11692,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -11702,7 +11702,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11964,16 +11964,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12008,9 +12008,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12023,7 +12023,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12056,7 +12056,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12066,7 +12066,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12248,16 +12248,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12292,9 +12292,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12307,7 +12307,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12340,7 +12340,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12350,7 +12350,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12448,16 +12448,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12492,9 +12492,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12507,7 +12507,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12540,7 +12540,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12550,7 +12550,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12690,16 +12690,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12734,9 +12734,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12749,7 +12749,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12782,7 +12782,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12792,7 +12792,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12890,16 +12890,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -12934,9 +12934,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12949,7 +12949,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -12982,7 +12982,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -12992,7 +12992,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13090,16 +13090,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13134,9 +13134,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13149,7 +13149,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13182,7 +13182,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13192,7 +13192,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13372,16 +13372,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13416,9 +13416,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13431,7 +13431,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13464,7 +13464,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13474,7 +13474,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13572,16 +13572,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13616,9 +13616,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13631,7 +13631,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13664,7 +13664,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13674,7 +13674,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13814,16 +13814,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -13858,9 +13858,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13873,7 +13873,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -13906,7 +13906,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -13916,7 +13916,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14014,16 +14014,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14058,9 +14058,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14073,7 +14073,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14106,7 +14106,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14116,7 +14116,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14214,16 +14214,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14258,9 +14258,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14273,7 +14273,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14306,7 +14306,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14316,7 +14316,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14414,16 +14414,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14458,9 +14458,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14473,7 +14473,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14506,7 +14506,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14516,7 +14516,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14614,16 +14614,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14658,9 +14658,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14673,7 +14673,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14706,7 +14706,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14716,7 +14716,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14814,16 +14814,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -14858,9 +14858,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14873,7 +14873,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -14906,7 +14906,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -14916,7 +14916,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15178,16 +15178,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15222,9 +15222,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15237,7 +15237,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15270,7 +15270,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15280,7 +15280,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15378,16 +15378,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15422,9 +15422,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15437,7 +15437,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15470,7 +15470,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15480,7 +15480,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15578,16 +15578,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15622,9 +15622,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15637,7 +15637,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15670,7 +15670,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15680,7 +15680,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15778,16 +15778,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -15822,9 +15822,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15837,7 +15837,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -15870,7 +15870,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -15880,7 +15880,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15978,16 +15978,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16022,9 +16022,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16037,7 +16037,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16070,7 +16070,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16080,7 +16080,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16219,16 +16219,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16263,9 +16263,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16278,7 +16278,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16311,7 +16311,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16321,7 +16321,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16503,16 +16503,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16547,9 +16547,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16562,7 +16562,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16595,7 +16595,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16605,7 +16605,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16703,16 +16703,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16747,9 +16747,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16762,7 +16762,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16795,7 +16795,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -16805,7 +16805,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16903,16 +16903,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -16947,9 +16947,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16962,7 +16962,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -16995,7 +16995,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17005,7 +17005,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17103,16 +17103,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17147,9 +17147,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17162,7 +17162,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17195,7 +17195,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17205,7 +17205,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17303,16 +17303,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17347,9 +17347,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17362,7 +17362,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17395,7 +17395,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17405,7 +17405,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17503,16 +17503,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17547,9 +17547,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17562,7 +17562,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17595,7 +17595,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17605,7 +17605,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17703,16 +17703,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17747,9 +17747,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17762,7 +17762,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17795,7 +17795,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -17805,7 +17805,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17903,16 +17903,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -17947,9 +17947,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17962,7 +17962,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -17995,7 +17995,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18005,7 +18005,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18185,16 +18185,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18229,9 +18229,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18244,7 +18244,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18277,7 +18277,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18287,7 +18287,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18385,16 +18385,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18429,9 +18429,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18444,7 +18444,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18477,7 +18477,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18487,7 +18487,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18585,16 +18585,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18629,9 +18629,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18644,7 +18644,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18677,7 +18677,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18687,7 +18687,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18785,16 +18785,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -18829,9 +18829,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18844,7 +18844,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -18877,7 +18877,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -18887,7 +18887,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18985,16 +18985,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19029,9 +19029,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19044,7 +19044,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19077,7 +19077,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19087,7 +19087,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19227,16 +19227,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19271,9 +19271,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19286,7 +19286,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19319,7 +19319,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19329,7 +19329,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19427,16 +19427,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19471,9 +19471,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19486,7 +19486,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19519,7 +19519,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19529,7 +19529,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19627,16 +19627,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19671,9 +19671,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19686,7 +19686,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19719,7 +19719,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19729,7 +19729,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19827,16 +19827,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -19871,9 +19871,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19886,7 +19886,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -19919,7 +19919,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -19929,7 +19929,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20027,16 +20027,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20071,9 +20071,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20086,7 +20086,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20119,7 +20119,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20129,7 +20129,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20310,16 +20310,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20354,9 +20354,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20369,7 +20369,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20402,7 +20402,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20412,7 +20412,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20510,16 +20510,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20554,9 +20554,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20569,7 +20569,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20602,7 +20602,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20612,7 +20612,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20710,16 +20710,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20754,9 +20754,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20769,7 +20769,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -20802,7 +20802,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -20812,7 +20812,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20910,16 +20910,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -20954,9 +20954,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20969,7 +20969,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21002,7 +21002,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21012,7 +21012,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21110,16 +21110,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21154,9 +21154,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21169,7 +21169,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21202,7 +21202,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21212,7 +21212,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21310,16 +21310,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21354,9 +21354,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21369,7 +21369,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21402,7 +21402,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21412,7 +21412,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21510,16 +21510,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21554,9 +21554,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21569,7 +21569,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21602,7 +21602,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21612,7 +21612,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21710,16 +21710,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21754,9 +21754,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21769,7 +21769,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -21802,7 +21802,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -21812,7 +21812,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21910,16 +21910,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -21954,9 +21954,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21969,7 +21969,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22002,7 +22002,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22012,7 +22012,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22152,16 +22152,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22196,9 +22196,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22211,7 +22211,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22244,7 +22244,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22254,7 +22254,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22352,16 +22352,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22396,9 +22396,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22411,7 +22411,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22444,7 +22444,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22454,7 +22454,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22552,16 +22552,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22596,9 +22596,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22611,7 +22611,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22644,7 +22644,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22654,7 +22654,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22752,16 +22752,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22796,9 +22796,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22811,7 +22811,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -22844,7 +22844,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -22854,7 +22854,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22952,16 +22952,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -22996,9 +22996,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23011,7 +23011,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23044,7 +23044,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23054,7 +23054,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23152,16 +23152,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23196,9 +23196,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23211,7 +23211,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23244,7 +23244,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23254,7 +23254,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23352,16 +23352,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23396,9 +23396,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23411,7 +23411,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23444,7 +23444,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23454,7 +23454,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23594,16 +23594,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23638,9 +23638,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23653,7 +23653,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23686,7 +23686,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23696,7 +23696,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23836,16 +23836,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -23880,9 +23880,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23895,7 +23895,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -23928,7 +23928,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -23938,7 +23938,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24036,16 +24036,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24080,9 +24080,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24095,7 +24095,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24128,7 +24128,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24138,7 +24138,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24278,16 +24278,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24322,9 +24322,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24337,7 +24337,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24370,7 +24370,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24380,7 +24380,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24520,16 +24520,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -24564,9 +24564,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24579,7 +24579,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -24612,7 +24612,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -24622,7 +24622,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24968,16 +24968,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25012,9 +25012,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25027,7 +25027,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25060,7 +25060,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25070,7 +25070,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25168,16 +25168,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25212,9 +25212,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25227,7 +25227,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25260,7 +25260,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25270,7 +25270,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25451,16 +25451,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25495,9 +25495,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25510,7 +25510,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25543,7 +25543,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25553,7 +25553,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25651,16 +25651,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25695,9 +25695,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25710,7 +25710,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25743,7 +25743,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25753,7 +25753,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25892,16 +25892,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -25936,9 +25936,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25951,7 +25951,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -25984,7 +25984,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -25994,7 +25994,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26134,16 +26134,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26178,9 +26178,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26193,7 +26193,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26226,7 +26226,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26236,7 +26236,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26334,16 +26334,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26378,9 +26378,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26393,7 +26393,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26426,7 +26426,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26436,7 +26436,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26576,16 +26576,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26620,9 +26620,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26635,7 +26635,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26668,7 +26668,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26678,7 +26678,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26776,16 +26776,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -26820,9 +26820,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26835,7 +26835,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -26868,7 +26868,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -26878,7 +26878,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26976,16 +26976,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -27020,9 +27020,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -27035,7 +27035,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -27068,7 +27068,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -27078,7 +27078,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28212,16 +28212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28256,9 +28256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28271,7 +28271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28304,7 +28304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28314,7 +28314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28412,16 +28412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28456,9 +28456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28471,7 +28471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28504,7 +28504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28514,7 +28514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28612,16 +28612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28656,9 +28656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28671,7 +28671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28704,7 +28704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28714,7 +28714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28812,16 +28812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -28856,9 +28856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28871,7 +28871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -28904,7 +28904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -28914,7 +28914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29012,16 +29012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29056,9 +29056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29071,7 +29071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29104,7 +29104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29114,7 +29114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29212,16 +29212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29256,9 +29256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29271,7 +29271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29304,7 +29304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29314,7 +29314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29412,16 +29412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29456,9 +29456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29471,7 +29471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29504,7 +29504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29514,7 +29514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29612,16 +29612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29656,9 +29656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29671,7 +29671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29704,7 +29704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29714,7 +29714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29812,16 +29812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -29856,9 +29856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29871,7 +29871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -29904,7 +29904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -29914,7 +29914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30012,16 +30012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30056,9 +30056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30071,7 +30071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30104,7 +30104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30114,7 +30114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30212,16 +30212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30256,9 +30256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30271,7 +30271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30304,7 +30304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30314,7 +30314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30412,16 +30412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30456,9 +30456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30471,7 +30471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30504,7 +30504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30514,7 +30514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30612,16 +30612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30656,9 +30656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30671,7 +30671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30704,7 +30704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30714,7 +30714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30812,16 +30812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -30856,9 +30856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30871,7 +30871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -30904,7 +30904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -30914,7 +30914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31012,16 +31012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31056,9 +31056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31071,7 +31071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31104,7 +31104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31114,7 +31114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31212,16 +31212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31256,9 +31256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31271,7 +31271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31304,7 +31304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31314,7 +31314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31412,16 +31412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31456,9 +31456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31471,7 +31471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31504,7 +31504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31514,7 +31514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31612,16 +31612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31656,9 +31656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31671,7 +31671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31704,7 +31704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31714,7 +31714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31812,16 +31812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -31856,9 +31856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31871,7 +31871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -31904,7 +31904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -31914,7 +31914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32012,16 +32012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32056,9 +32056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32071,7 +32071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32104,7 +32104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32114,7 +32114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32212,16 +32212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32256,9 +32256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32271,7 +32271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32304,7 +32304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32314,7 +32314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32412,16 +32412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32456,9 +32456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32471,7 +32471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32504,7 +32504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32514,7 +32514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32612,16 +32612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32656,9 +32656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32671,7 +32671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32704,7 +32704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32714,7 +32714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32812,16 +32812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -32856,9 +32856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32871,7 +32871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -32904,7 +32904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -32914,7 +32914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33012,16 +33012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33056,9 +33056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33071,7 +33071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33104,7 +33104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33114,7 +33114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33212,16 +33212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33256,9 +33256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33271,7 +33271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33304,7 +33304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33314,7 +33314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33412,16 +33412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33456,9 +33456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33471,7 +33471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33504,7 +33504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33514,7 +33514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33612,16 +33612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33656,9 +33656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33671,7 +33671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33704,7 +33704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33714,7 +33714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33812,16 +33812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -33856,9 +33856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33871,7 +33871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -33904,7 +33904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -33914,7 +33914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34012,16 +34012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34056,9 +34056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34071,7 +34071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34104,7 +34104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34114,7 +34114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34212,16 +34212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34256,9 +34256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34271,7 +34271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34304,7 +34304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34314,7 +34314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34412,16 +34412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34456,9 +34456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34471,7 +34471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34504,7 +34504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34514,7 +34514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34612,16 +34612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34656,9 +34656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34671,7 +34671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34704,7 +34704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34714,7 +34714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34812,16 +34812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -34856,9 +34856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34871,7 +34871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -34904,7 +34904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -34914,7 +34914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35012,16 +35012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35056,9 +35056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35071,7 +35071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35104,7 +35104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35114,7 +35114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35212,16 +35212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35256,9 +35256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35271,7 +35271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35304,7 +35304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35314,7 +35314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35412,16 +35412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35456,9 +35456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35471,7 +35471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35504,7 +35504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35514,7 +35514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35612,16 +35612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35656,9 +35656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35671,7 +35671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35704,7 +35704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35714,7 +35714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35812,16 +35812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -35856,9 +35856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35871,7 +35871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -35904,7 +35904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -35914,7 +35914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36012,16 +36012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36056,9 +36056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36071,7 +36071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36104,7 +36104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36114,7 +36114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36212,16 +36212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36256,9 +36256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36271,7 +36271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36304,7 +36304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36314,7 +36314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36412,16 +36412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36456,9 +36456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36471,7 +36471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36504,7 +36504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36514,7 +36514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36612,16 +36612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36656,9 +36656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36671,7 +36671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36704,7 +36704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36714,7 +36714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36812,16 +36812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -36856,9 +36856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36871,7 +36871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -36904,7 +36904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -36914,7 +36914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37012,16 +37012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37056,9 +37056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37071,7 +37071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37104,7 +37104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37114,7 +37114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37212,16 +37212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37256,9 +37256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37271,7 +37271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37304,7 +37304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37314,7 +37314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37412,16 +37412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37456,9 +37456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37471,7 +37471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37504,7 +37504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37514,7 +37514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37612,16 +37612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37656,9 +37656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37671,7 +37671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37704,7 +37704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37714,7 +37714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37812,16 +37812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -37856,9 +37856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37871,7 +37871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -37904,7 +37904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -37914,7 +37914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38012,16 +38012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38056,9 +38056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38071,7 +38071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38104,7 +38104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38114,7 +38114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38212,16 +38212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38256,9 +38256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38271,7 +38271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38304,7 +38304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38314,7 +38314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38412,16 +38412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38456,9 +38456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38471,7 +38471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38504,7 +38504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38514,7 +38514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38612,16 +38612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38656,9 +38656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38671,7 +38671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38704,7 +38704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38714,7 +38714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38812,16 +38812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -38856,9 +38856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38871,7 +38871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -38904,7 +38904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -38914,7 +38914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39012,16 +39012,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39056,9 +39056,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39071,7 +39071,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39104,7 +39104,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39114,7 +39114,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39212,16 +39212,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39256,9 +39256,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39271,7 +39271,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39304,7 +39304,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39314,7 +39314,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39412,16 +39412,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39456,9 +39456,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39471,7 +39471,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39504,7 +39504,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39514,7 +39514,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39612,16 +39612,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39656,9 +39656,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39671,7 +39671,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39704,7 +39704,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39714,7 +39714,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39812,16 +39812,16 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications.  +install and use any number of copies of the software to develop and test your applications. -2.    +2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3.    +3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a.     +a. DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are @@ -39856,9 +39856,9 @@ that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4.    +4. DATA. -a.     +a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39871,7 +39871,7 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b.    +b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection @@ -39904,7 +39904,7 @@ is against the law; or share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6.    +6. Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include @@ -39914,7 +39914,7 @@ on export restrictions, visit www.microsoft.com/exporting. � SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8.    +8. Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index b24e6e930..cf9fe77ca 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.11" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 3e738daba..50c855f54 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.11" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/InformaticsGateway/AssemblyInfo.cs b/src/InformaticsGateway/AssemblyInfo.cs index b2060ba46..427d7bfe5 100644 --- a/src/InformaticsGateway/AssemblyInfo.cs +++ b/src/InformaticsGateway/AssemblyInfo.cs @@ -17,6 +17,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Monai.Deploy.InformaticsGateway.Test")] +[assembly: InternalsVisibleTo("Monai.Deploy.InformaticsGateway.Integration.Test")] // ILogger<ApplicationEntityManager> [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] diff --git a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs index 1075403be..4e5aee79b 100644 --- a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs +++ b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs @@ -59,8 +59,8 @@ public static partial class Log public static partial void NotifyAeChanged(this ILogger logger, int count, ChangedEventType eventType); // SCP Service - [LoggerMessage(EventId = 200, Level = LogLevel.Information, Message = "MONAI Deploy Informatics Gateway (SCP Service) {version} loading...")] - public static partial void ScpServiceLoading(this ILogger logger, string version); + [LoggerMessage(EventId = 200, Level = LogLevel.Information, Message = "Initializing SCP Service at port {port}...")] + public static partial void ScpServiceLoading(this ILogger logger, int port); [LoggerMessage(EventId = 201, Level = LogLevel.Critical, Message = "Failed to initialize SCP listener.")] public static partial void ScpListenerInitializationFailure(this ILogger logger); diff --git a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs index 9ad3443eb..c0891be6f 100644 --- a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs +++ b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs @@ -33,7 +33,7 @@ public static partial class Log [LoggerMessage(EventId = 3003, Level = LogLevel.Information, Message = "File added to bucket {key}. Queue size: {count}")] public static partial void FileAddedToBucket(this ILogger logger, string key, int count); - [LoggerMessage(EventId = 3004, Level = LogLevel.Trace, Message = "Number of buckets active: {count}.")] + [LoggerMessage(EventId = 3004, Level = LogLevel.Trace, Message = "Number of incomplete payloads waiting for processing: {count}.")] public static partial void BucketActive(this ILogger logger, int count); [LoggerMessage(EventId = 3005, Level = LogLevel.Trace, Message = "Checking elapsed time for bucket: {key}.")] diff --git a/src/InformaticsGateway/Logging/Log.500.ExportService.cs b/src/InformaticsGateway/Logging/Log.500.ExportService.cs index 605caea9c..94f3c6808 100644 --- a/src/InformaticsGateway/Logging/Log.500.ExportService.cs +++ b/src/InformaticsGateway/Logging/Log.500.ExportService.cs @@ -120,5 +120,8 @@ public static partial class Log [LoggerMessage(EventId = 532, Level = LogLevel.Information, Message = "CorrelationId={correlationId}. Export request {exportTaskId} received & queued for processing.")] public static partial void ExportRequestQueuedForProcessing(this ILogger logger, string correlationId, string exportTaskId); + + [LoggerMessage(EventId = 533, Level = LogLevel.Error, Message = "Recovering messaging service connection due to {reason}.")] + public static partial void MessagingServiceErrorRecover(this ILogger logger, string reason); } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 82ca2efec..d3ea51c0d 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -48,7 +48,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.11" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index 21df1feb1..c7d8a2395 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -96,6 +96,12 @@ protected ExportServiceBase( _storageInfoProvider = _scope.ServiceProvider.GetRequiredService<IStorageInfoProvider>(); _exportRequests = new Dictionary<string, ExportRequestEventDetails>(); + + _messageSubscriber.OnConnectionError += (sender, args) => + { + _logger.MessagingServiceErrorRecover(args.ShutdownEventArguments.ToString()); + SetupPolling(); + }; } public Task StartAsync(CancellationToken cancellationToken) diff --git a/src/InformaticsGateway/Services/Scp/ScpService.cs b/src/InformaticsGateway/Services/Scp/ScpService.cs index cdcbbf50d..bc3d07165 100644 --- a/src/InformaticsGateway/Services/Scp/ScpService.cs +++ b/src/InformaticsGateway/Services/Scp/ScpService.cs @@ -78,7 +78,7 @@ public void Dispose() public Task StartAsync(CancellationToken cancellationToken) { - _logger.ScpServiceLoading(Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyFileVersionAttribute>().Version); + _logger.ScpServiceLoading(_configuration.Value.Dicom.Scp.Port); try { diff --git a/src/InformaticsGateway/Test/DummyMessagingService.cs b/src/InformaticsGateway/Test/DummyMessagingService.cs index 0c5df01ee..5c5b123ac 100644 --- a/src/InformaticsGateway/Test/DummyMessagingService.cs +++ b/src/InformaticsGateway/Test/DummyMessagingService.cs @@ -49,6 +49,8 @@ internal class DummyMessagingService : IMessageBrokerPublisherService, IMessageB { public string Name => "Dummy Messaging Service"; + public event ConnectionErrorHandler OnConnectionError; + public void Acknowledge(MessageBase message) => throw new NotImplementedException(); public void Dispose() => throw new NotImplementedException(); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs index 5ed9e0984..6da08a10f 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs @@ -149,7 +149,7 @@ public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectT _cancellationTokenSource.Token.WaitHandle.WaitOne(); payloadAssembler.Dispose(); - _logger.VerifyLoggingMessageBeginsWith($"Number of buckets active: 1.", LogLevel.Trace, Times.AtLeastOnce()); + _logger.VerifyLoggingMessageBeginsWith($"Number of incomplete payloads waiting for processing: 1.", LogLevel.Trace, Times.AtLeastOnce()); } [RetryFact(10, 200)] @@ -167,7 +167,7 @@ public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEve await Task.Delay(1001); payloadAssembler.Dispose(); - _logger.VerifyLoggingMessageBeginsWith($"Number of buckets active: 1.", LogLevel.Trace, Times.AtLeastOnce()); + _logger.VerifyLoggingMessageBeginsWith($"Number of incomplete payloads waiting for processing: 1.", LogLevel.Trace, Times.AtLeastOnce()); _logger.VerifyLoggingMessageBeginsWith($"Bucket A sent to processing queue", LogLevel.Information, Times.Never()); } @@ -183,7 +183,7 @@ public async Task GivenAPayloadThatHasCompletedUploads_WhenProcessedByTimedEvent var result = payloadAssembler.Dequeue(_cancellationTokenSource.Token); payloadAssembler.Dispose(); - _logger.VerifyLoggingMessageBeginsWith($"Number of buckets active: 1.", LogLevel.Trace, Times.AtLeastOnce()); + _logger.VerifyLoggingMessageBeginsWith($"Number of incomplete payloads waiting for processing: 1.", LogLevel.Trace, Times.AtLeastOnce()); Assert.Single(result.Files); _logger.VerifyLoggingMessageBeginsWith($"Bucket A sent to processing queue with {result.Count} files", LogLevel.Information, Times.AtLeastOnce()); } diff --git a/tests/Integration.Test/.env.dev b/tests/Integration.Test/.env.dev deleted file mode 100644 index d84fa52c6..000000000 --- a/tests/Integration.Test/.env.dev +++ /dev/null @@ -1 +0,0 @@ -TAG=0.3.2 diff --git a/tests/Integration.Test/Common/Assertions.cs b/tests/Integration.Test/Common/Assertions.cs new file mode 100644 index 000000000..2e80e3edd --- /dev/null +++ b/tests/Integration.Test/Common/Assertions.cs @@ -0,0 +1,283 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Globalization; +using System.Text; +using System.Text.Json; +using System.Text.Json.Nodes; +using System.Xml; +using Ardalis.GuardClauses; +using FellowOakDicom; +using FellowOakDicom.Serialization; +using Minio; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; +using Monai.Deploy.Messaging.Events; +using Monai.Deploy.Messaging.Messages; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class Assertions + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public Assertions(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + internal async Task ShouldHaveUploadedDicomDataToMinio(IReadOnlyList<Message> messages, Dictionary<string, string> fileHashes) + { + Guard.Against.Null(messages); + Guard.Against.NullOrEmpty(fileHashes); + + var minioClient = GetMinioClient(); + + foreach (var message in messages) + { + var request = message.ConvertTo<WorkflowRequestEvent>(); + foreach (var file in request.Payload) + { + var dicomValidationKey = string.Empty; + + var getObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Path}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Position = 0; + var dicomFile = DicomFile.Open(memoryStream); + dicomValidationKey = dicomFile.GenerateFileName(); + fileHashes.Should().ContainKey(dicomValidationKey).WhoseValue.Should().Be(dicomFile.CalculateHash()); + }); + await minioClient.GetObjectAsync(getObjectArgs); + + var getMetadataObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Metadata}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + var json = Encoding.UTF8.GetString(memoryStream.ToArray()); + + var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); + var key = dicomFileFromJson.GenerateFileName(); + key.Should().Be(dicomValidationKey); + }); + await minioClient.GetObjectAsync(getMetadataObjectArgs); + } + } + } + + internal async Task ShouldHaveUploadedFhirDataToMinio(IReadOnlyList<Message> messages, Dictionary<string, string> fhirData) + { + Guard.Against.Null(messages); + + var minioClient = GetMinioClient(); + + foreach (var message in messages) + { + message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); + var request = message.ConvertTo<WorkflowRequestEvent>(); + request.Should().NotBeNull(); + request.FileCount.Should().Be(1); + + foreach (var file in request.Payload) + { + var getObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Path}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Position = 0; + var data = Encoding.UTF8.GetString(memoryStream.ToArray()); + data.Should().NotBeNullOrWhiteSpace(); + + var incomingFilename = Path.GetFileName(file.Path); + var storedFileKey = fhirData.Keys.FirstOrDefault(p => p.EndsWith(incomingFilename)); + storedFileKey.Should().NotBeNull(); + + _outputHelper.WriteLine($"Validating file {storedFileKey}..."); + if (incomingFilename.EndsWith(".json", true, CultureInfo.InvariantCulture)) + { + ValidateJson(fhirData[storedFileKey], data); + } + else + { + ValidateXml(fhirData[storedFileKey], data); + } + }); + await minioClient.GetObjectAsync(getObjectArgs); + } + } + } + + internal async Task ShouldHaveUploadedHl7ataToMinio(IReadOnlyList<Message> messages) + { + Guard.Against.Null(messages); + + var minioClient = GetMinioClient(); + + foreach (var message in messages) + { + var request = message.ConvertTo<WorkflowRequestEvent>(); + var listOjbectsArgs = new ListObjectsArgs() + .WithBucket(request.Bucket) + .WithPrefix(request.PayloadId.ToString()) + .WithRecursive(true); + var results = minioClient.ListObjectsAsync(listOjbectsArgs); + results.Subscribe(item => + { + _outputHelper.WriteLine($"File => {item.Key}..."); + }, + exception => + { + _outputHelper.WriteLine($"Error listing files {exception.Message}"); + }); + + foreach (var file in request.Payload) + { + _outputHelper.WriteLine($"Verifying file => {request.PayloadId}/{file.Path}..."); + var getObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Path}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Position = 0; + var data = Encoding.UTF8.GetString(memoryStream.ToArray()); + + var hl7Message = new HL7.Dotnetcore.Message(data); + hl7Message.ParseMessage().Should().BeTrue(); + }); + await minioClient.GetObjectAsync(getObjectArgs); + } + } + } + + internal void ShouldHaveCorrectNumberOfWorkflowRequestMessages(DataProvider dataProvider, IReadOnlyList<Message> messages, int count) + { + Guard.Against.Null(dataProvider); + Guard.Against.Null(messages); + + messages.Should().NotBeNullOrEmpty().And.HaveCount(count); + foreach (var message in messages) + { + message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); + var request = message.ConvertTo<WorkflowRequestEvent>(); + request.Should().NotBeNull(); + request.FileCount.Should().Be((dataProvider.DicomSpecs.NumberOfExpectedFiles(dataProvider.StudyGrouping))); + + if (dataProvider.Workflows is not null) + { + request.Workflows.Should().Equal(dataProvider.Workflows); + } + } + } + internal void ShouldHaveCorrectNumberOfWorkflowRequestMessagesAndAcrRequest(DataProvider dataProvider, IReadOnlyList<Message> messages, int count) + { + Guard.Against.Null(dataProvider); + Guard.Against.Null(messages); + + messages.Should().NotBeNullOrEmpty().And.HaveCount(count); + + foreach (var message in messages) + { + message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); + var request = message.ConvertTo<WorkflowRequestEvent>(); + request.Should().NotBeNull(); + request.FileCount.Should().Be(dataProvider.DicomSpecs.FileCount); + request.Workflows.Should().Equal(dataProvider.AcrRequest.Application.Id); + } + } + + internal void ShouldHaveCorrectNumberOfWorkflowRequestMessagesAndHl7Messages(Hl7Messages hL7Specs, IReadOnlyList<Message> messages, int count) + { + Guard.Against.Null(hL7Specs); + Guard.Against.Null(messages); + + messages.Should().NotBeNullOrEmpty().And.HaveCount(count); + + foreach (var message in messages) + { + message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); + var request = message.ConvertTo<WorkflowRequestEvent>(); + request.Should().NotBeNull(); + request.FileCount.Should().Be(hL7Specs.Files.Count); + } + } + + private MinioClient GetMinioClient() => new MinioClient() + .WithEndpoint(_options.Storage.Settings["endpoint"]) + .WithCredentials(_options.Storage.Settings["accessKey"], _options.Storage.Settings["accessToken"]) + .Build(); + + private void ValidateXml(string expected, string actual) + { + expected = FormatXml(expected); + expected.Should().Be(actual); + } + + private string FormatXml(string xml) + { + var xmlDocument = new XmlDocument(); + xmlDocument.LoadXml(xml); + var sb = new StringBuilder(); + using (var xmlWriter = XmlWriter.Create(sb, new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true })) + { + xmlDocument.Save(xmlWriter); + } + return sb.ToString(); + } + + private void ValidateJson(string expected, string actual) + { + expected = FormatJson(expected); + expected.Should().Be(actual); + } + + private string FormatJson(string expected) + { + var jsonDoc = JsonNode.Parse(expected); + return jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); + } + + internal void ShoulddHaveCorrectNumberOfAckMessages(Dictionary<string, string> responses) + { + foreach (var file in responses.Keys) + { + _outputHelper.WriteLine($"Verifying acknowledgement for {file}..."); + var message = new HL7.Dotnetcore.Message(responses[file]); + message.ParseMessage(); + var segment = message.DefaultSegment("MSH"); + _outputHelper.WriteLine($"ACK Value= {segment.Value}..."); + segment.Fields(9).Value.Should().Be("ACK"); + } + } + } +} diff --git a/tests/Integration.Test/Common/DataProvider.cs b/tests/Integration.Test/Common/DataProvider.cs new file mode 100644 index 000000000..cdab85f37 --- /dev/null +++ b/tests/Integration.Test/Common/DataProvider.cs @@ -0,0 +1,180 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Globalization; +using Ardalis.GuardClauses; +using FellowOakDicom; +using FellowOakDicom.Network; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; +using static Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions.FhirDefinitions; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class DataProvider + { + private readonly Configurations _configurations; + private readonly ISpecFlowOutputHelper _outputHelper; + private readonly DicomInstanceGenerator _dicomInstanceGenerator; + + public DicomDataSpecs DicomSpecs { get; private set; } + public InferenceRequest AcrRequest { get; private set; } + public FhirMessages FhirSpecs { get; private set; } + public Hl7Messages HL7Specs { get; private set; } + public DicomStatus DimseRsponse { get; internal set; } + public string StudyGrouping { get; internal set; } + public string[] Workflows { get; internal set; } = null; + + public DataProvider(Configurations configurations, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _outputHelper.WriteLine("DicomDataProvider {0}", Guid.NewGuid()); + + _dicomInstanceGenerator = new DicomInstanceGenerator(outputHelper); + } + + internal void GenerateDicomData(string modality, int studyCount, int? seriesPerStudy = null) + { + Guard.Against.NullOrWhiteSpace(modality); + + _outputHelper.WriteLine($"Generating {studyCount} {modality} study"); + _configurations.StudySpecs.ContainsKey(modality).Should().BeTrue(); + + var studySpec = _configurations.StudySpecs[modality]; + var patientId = DateTime.Now.ToString("yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); + if (seriesPerStudy.HasValue) + { + DicomSpecs = _dicomInstanceGenerator.Generate(patientId, studyCount, seriesPerStudy.Value, modality, studySpec); + } + else + { + DicomSpecs = _dicomInstanceGenerator.Generate(patientId, studyCount, modality, studySpec); + } + _outputHelper.WriteLine($"File specs: {DicomSpecs.StudyCount}, {DicomSpecs.SeriesPerStudyCount}, {DicomSpecs.InstancePerSeries}, {DicomSpecs.FileCount}"); + } + + internal void ReplaceGeneratedDicomDataWithHashes() + { + var dicomFileSize = new Dictionary<string, string>(); + foreach (var dicomFile in DicomSpecs.Files) + { + var key = dicomFile.GenerateFileName(); + dicomFileSize[key] = dicomFile.CalculateHash(); + } + + DicomSpecs.FileHashes = dicomFileSize; + DicomSpecs.Files.Clear(); + } + + internal void GenerateAcrRequest(string requestType) + { + Guard.Against.NullOrWhiteSpace(requestType); + + var inferenceRequest = new InferenceRequest(); + inferenceRequest.TransactionId = Guid.NewGuid().ToString(); + inferenceRequest.InputMetadata = new InferenceRequestMetadata(); + inferenceRequest.InputMetadata.Details = new InferenceRequestDetails(); + switch (requestType) + { + case "Study": + inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.DicomUid; + inferenceRequest.InputMetadata.Details.Studies = new List<RequestedStudy>(); + inferenceRequest.InputMetadata.Details.Studies.Add(new RequestedStudy + { + StudyInstanceUid = DicomSpecs.StudyInstanceUids[0], + }); + break; + + case "Patient": + inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.DicomPatientId; + inferenceRequest.InputMetadata.Details.PatientId = DicomSpecs.Files[0].Dataset.GetSingleValue<string>(DicomTag.PatientID); + break; + + case "AccessionNumber": + inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.AccessionNumber; + inferenceRequest.InputMetadata.Details.AccessionNumber = new List<string>() { DicomSpecs.Files[0].Dataset.GetSingleValue<string>(DicomTag.AccessionNumber) }; + break; + + default: + throw new ArgumentException($"invalid ACR request type specified in feature file: {requestType}"); + } + inferenceRequest.InputResources = new List<RequestInputDataResource> + { + new RequestInputDataResource + { + Interface = InputInterfaceType.Algorithm, + ConnectionDetails = new InputConnectionDetails + { + Name = "DICOM-RUNNER-TEST", + Id = Guid.NewGuid().ToString(), + } + }, + new RequestInputDataResource + { + Interface = InputInterfaceType.DicomWeb, + ConnectionDetails = new InputConnectionDetails + { + Uri = _configurations.OrthancOptions.DicomWebRoot, + AuthId = _configurations.OrthancOptions.GetBase64EncodedAuthHeader(), + AuthType = ConnectionAuthType.Basic + } + } + }; + + if (!inferenceRequest.IsValid(out var details)) + { + _outputHelper.WriteLine($"Validation error: {details}."); + throw new Exception(details); + } + + AcrRequest = inferenceRequest; + } + + internal async Task GenerateFhirMessages(string version, string format) + { + var files = Directory.GetFiles($"data/fhir/{version}", $"*.{format.ToLowerInvariant()}"); + + FhirSpecs = new FhirMessages + { + FileFormat = format == "XML" ? FileFormat.Xml : FileFormat.Json, + MediaType = format == "XML" ? "application/fhir+xml" : "application/fhir+json" + }; + + foreach (var file in files) + { + _outputHelper.WriteLine($"Adding file {file}"); + FhirSpecs.Files[file] = await File.ReadAllTextAsync(file); + } + } + + internal async Task GenerateHl7Messages(string version) + { + HL7Specs = new Hl7Messages(); + var files = Directory.GetFiles($"data/hl7/{version}"); + + foreach (var file in files) + { + var text = await File.ReadAllTextAsync(file); + var message = new HL7.Dotnetcore.Message(text); + message.ParseMessage(); + message.SetValue("MSH.10", file); + HL7Specs.Files[file] = message; + } + } + } +} diff --git a/tests/Integration.Test/Common/DicomCEchoDataClient.cs b/tests/Integration.Test/Common/DicomCEchoDataClient.cs new file mode 100644 index 000000000..0a699f9cc --- /dev/null +++ b/tests/Integration.Test/Common/DicomCEchoDataClient.cs @@ -0,0 +1,76 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using FellowOakDicom.Network; +using FellowOakDicom.Network.Client; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class DicomCEchoDataClient : IDataClient + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public DicomCEchoDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + Guard.Against.NullOrEmpty(args); + + var callingAeTitle = args[0].ToString(); + var host = args[1].ToString(); + var port = (int)args[2]; + var calledAeTitle = args[3].ToString(); + var timeout = (TimeSpan)args[4]; + + _outputHelper.WriteLine($"C-ECHO: {callingAeTitle} => {host}:{port}@{calledAeTitle}"); + var result = DicomStatus.Pending; + var dicomClient = DicomClientFactory.Create(host, port, false, callingAeTitle, calledAeTitle); + + var cEchoRequest = new DicomCEchoRequest(); + var manualReset = new ManualResetEvent(false); + cEchoRequest.OnResponseReceived += (DicomCEchoRequest request, DicomCEchoResponse response) => + { + result = response.Status; + manualReset.Set(); + }; + await dicomClient.AddRequestAsync(cEchoRequest); + + try + { + await dicomClient.SendAsync(); + manualReset.WaitOne(timeout); + dataProvider.DimseRsponse = result; + } + catch (DicomAssociationRejectedException ex) + { + _outputHelper.WriteLine("Association Rejected: {0}", ex.Message); + dataProvider.DimseRsponse = DicomStatus.Cancel; + } + } + } +} diff --git a/tests/Integration.Test/Drivers/DicomScu.cs b/tests/Integration.Test/Common/DicomCStoreDataClient.cs similarity index 53% rename from tests/Integration.Test/Drivers/DicomScu.cs rename to tests/Integration.Test/Common/DicomCStoreDataClient.cs index 625101372..e98566c88 100644 --- a/tests/Integration.Test/Drivers/DicomScu.cs +++ b/tests/Integration.Test/Common/DicomCStoreDataClient.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,62 +15,50 @@ */ using System.Diagnostics; +using Ardalis.GuardClauses; using FellowOakDicom; using FellowOakDicom.Network; using FellowOakDicom.Network.Client; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; using TechTalk.SpecFlow.Infrastructure; -namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common { - public class DicomScu + internal class DicomCStoreDataClient : IDataClient { private static readonly object SyncRoot = new object(); internal int TotalTime { get; private set; } = 0; + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; private readonly ISpecFlowOutputHelper _outputHelper; - public DicomScu(ISpecFlowOutputHelper outputHelper) + public DicomCStoreDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); } - public async Task<DicomStatus> CEcho(string host, int port, string callingAeTitle, string calledAeTitle, TimeSpan timeout) - { - _outputHelper.WriteLine($"C-ECHO: {callingAeTitle} => {host}:{port}@{calledAeTitle}"); - var result = DicomStatus.Pending; - var dicomClient = CreateClient(host, port, callingAeTitle, calledAeTitle); - var cEchoRequest = new DicomCEchoRequest(); - var manualReset = new ManualResetEvent(false); - cEchoRequest.OnResponseReceived += (DicomCEchoRequest request, DicomCEchoResponse response) => - { - result = response.Status; - manualReset.Set(); - }; - await dicomClient.AddRequestAsync(cEchoRequest); + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + Guard.Against.NullOrEmpty(args); - try - { - await dicomClient.SendAsync(); - manualReset.WaitOne(timeout); - return result; - } - catch (DicomAssociationRejectedException ex) - { - _outputHelper.WriteLine("Association Rejected: {0}", ex.Message); - return DicomStatus.Cancel; - } - } + var callingAeTitle = args[0].ToString(); + var host = args[1].ToString(); + var port = (int)args[2]; + var calledAeTitle = args[3].ToString(); + var timeout = (TimeSpan)args[4]; - public async Task<DicomStatus> CStore(string host, int port, string callingAeTitle, string calledAeTitle, IList<DicomFile> dicomFiles, TimeSpan timeout) - { _outputHelper.WriteLine($"C-STORE: {callingAeTitle} => {host}:{port}@{calledAeTitle}"); var stopwatch = new Stopwatch(); stopwatch.Start(); - var dicomClient = CreateClient(host, port, callingAeTitle, calledAeTitle); - var countdownEvent = new CountdownEvent(dicomFiles.Count); + var dicomClient = DicomClientFactory.Create(host, port, false, callingAeTitle, calledAeTitle); + var countdownEvent = new CountdownEvent(dataProvider.DicomSpecs.Files.Count); var failureStatus = new List<DicomStatus>(); - foreach (var file in dicomFiles) + foreach (var file in dataProvider.DicomSpecs.Files) { var cStoreRequest = new DicomCStoreRequest(file); cStoreRequest.OnResponseReceived += (DicomCStoreRequest request, DicomCStoreResponse response) => @@ -95,17 +83,10 @@ public async Task<DicomStatus> CStore(string host, int port, string callingAeTit catch (DicomAssociationRejectedException ex) { _outputHelper.WriteLine($"Association Rejected: {ex.Message}"); - return DicomStatus.Cancel; + dataProvider.DimseRsponse = DicomStatus.Cancel; } - if (failureStatus.Count == 0) return DicomStatus.Success; - - return failureStatus.First(); - } - - private IDicomClient CreateClient(string host, int port, string callingAeTitle, string calledAeTitle) - { - return DicomClientFactory.Create(host, port, false, callingAeTitle, calledAeTitle); + dataProvider.DimseRsponse = (failureStatus.Count == 0) ? DicomStatus.Success : failureStatus.First(); } } } diff --git a/tests/Integration.Test/Common/DicomDataSpecs.cs b/tests/Integration.Test/Common/DicomDataSpecs.cs new file mode 100644 index 000000000..9fa614187 --- /dev/null +++ b/tests/Integration.Test/Common/DicomDataSpecs.cs @@ -0,0 +1,49 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FellowOakDicom; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class DicomDataSpecs + { + public List<string> StudyInstanceUids { get; set; } + public int StudyCount { get; set; } + public int SeriesPerStudyCount { get; set; } + public int InstancePerSeries { get; set; } + public int FileCount { get; set; } + public List<DicomFile> Files { get; set; } + public Dictionary<string, string> FileHashes { get; set; } = new Dictionary<string, string>(); + + public int NumberOfExpectedRequests(string grouping) => grouping switch + { + "0020,000D" => StudyCount, + "0020,000E" => StudyCount * SeriesPerStudyCount, + "stow_none" => 1, // For DICOMweb STOW-RS + "stow_study" => 1, // For DICOMweb STOW-RS + _ => throw new ArgumentException($"Grouping '{grouping} not supported.") + }; + + public int NumberOfExpectedFiles(string grouping) => grouping switch + { + "0020,000D" => SeriesPerStudyCount * InstancePerSeries, + "0020,000E" => InstancePerSeries, + "stow_none" => FileCount, // For DICOMweb STOW-RS + "stow_study" => SeriesPerStudyCount * InstancePerSeries, // For DICOMweb STOW-RS + _ => throw new ArgumentException($"Grouping '{grouping} not supported.") + }; + } +} diff --git a/tests/Integration.Test/Drivers/DicomScp.cs b/tests/Integration.Test/Common/DicomScp.cs similarity index 74% rename from tests/Integration.Test/Drivers/DicomScp.cs rename to tests/Integration.Test/Common/DicomScp.cs index e00153feb..edee5747e 100644 --- a/tests/Integration.Test/Drivers/DicomScp.cs +++ b/tests/Integration.Test/Common/DicomScp.cs @@ -18,21 +18,55 @@ using FellowOakDicom; using FellowOakDicom.Log; using FellowOakDicom.Network; -using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using TechTalk.SpecFlow.Infrastructure; -namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common { - public class ServerData + + public class DicomScp : IDisposable { - public FeatureContext Context { get; set; } + public readonly string FeatureScpAeTitle = "TEST-SCP"; + public readonly int FeatureScpPort = 1105; + + private readonly IDicomServer _server; + private bool _disposedValue; + public Dictionary<string, string> Instances { get; set; } = new Dictionary<string, string>(); public ISpecFlowOutputHelper OutputHelper { get; set; } + public DicomScp(ISpecFlowOutputHelper outputHelper) + { + OutputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _server = DicomServerFactory.Create<CStoreScp>(FeatureScpPort, userState: this); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _server.Stop(); + _server.Dispose(); + } + + _disposedValue = true; + } + } + + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } } + + internal class CStoreScp : DicomService, IDicomServiceProvider, IDicomCStoreProvider { - private static readonly Object SyncLock = new Object(); + private static readonly object SyncLock = new object(); internal static readonly string PayloadsRoot = "./payloads"; public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, ILogger log, DicomServiceDependencies dicomServiceDependencies) @@ -54,7 +88,7 @@ public void OnConnectionClosed(Exception exception) public Task<DicomCStoreResponse> OnCStoreRequestAsync(DicomCStoreRequest request) { - if (UserState is not ServerData data) + if (UserState is not DicomScp data) { throw new Exception("UserState is not instance of ServerData."); } diff --git a/tests/Integration.Test/Common/DicomWebDataSink.cs b/tests/Integration.Test/Common/DicomWebDataSink.cs new file mode 100644 index 000000000..dc7f2e8f2 --- /dev/null +++ b/tests/Integration.Test/Common/DicomWebDataSink.cs @@ -0,0 +1,85 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Diagnostics; +using System.Net; +using Ardalis.GuardClauses; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.DicomWeb.Client; +using Monai.Deploy.InformaticsGateway.DicomWeb.Client.API; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class DicomWebDataClient : IDataClient + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public DicomWebDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + /// <summary> + /// args: + /// 0: endpoint + /// 1: workflows + /// 2: callback function + /// </summary> + /// <param name="dataProvider"></param> + /// <param name="args"></param> + /// <returns></returns> + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + Guard.Against.Null(dataProvider); + Guard.Against.Null(args); + + var dicomFileSpec = dataProvider.DicomSpecs; + dicomFileSpec.Should().NotBeNull(); + dicomFileSpec.StudyInstanceUids.Should().NotBeNullOrEmpty(); + + var endpoint = args[0].ToString(); + + _outputHelper.WriteLine($"POSTing studies to {endpoint} with {dicomFileSpec.Files.Count} files..."); + var httpClient = HttpClientFactory.Create(); + var dicomWebClient = new DicomWebClient(httpClient, null); + dicomWebClient.ConfigureServiceUris(new Uri(endpoint)); + + if (args[1] is not null) + { + var workflows = args[1] as string[]; + workflows.Should().NotBeNullOrEmpty(); + dicomWebClient.ConfigureServicePrefix(DicomWebServiceType.Stow, $"{workflows.First()}/"); + _outputHelper.WriteLine($"configured STOW service prefix = {workflows.First()}..."); + } + + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + var func = args[2] as Func<DicomWebClient, DicomDataSpecs, Task<DicomWebResponse<string>>>; + var results = await func(dicomWebClient, dicomFileSpec); + results.StatusCode.Should().Be(HttpStatusCode.OK); + + stopwatch.Stop(); + _outputHelper.WriteLine($"Time to upload to DICOMWeb={0}s...", stopwatch.Elapsed.TotalSeconds); + } + } +} diff --git a/tests/Integration.Test/Common/FhirDataSink.cs b/tests/Integration.Test/Common/FhirDataSink.cs new file mode 100644 index 000000000..1157cfcf2 --- /dev/null +++ b/tests/Integration.Test/Common/FhirDataSink.cs @@ -0,0 +1,63 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Diagnostics; +using System.Text; +using Ardalis.GuardClauses; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class FhirDataClient : IDataClient + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public FhirDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + Guard.Against.Null(dataProvider); + var httpClient = HttpClientFactory.Create(); + httpClient.BaseAddress = new Uri($"{_configurations.InformaticsGatewayOptions.ApiEndpoint}/fhir/"); + httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(dataProvider.FhirSpecs.MediaType)); + httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", dataProvider.FhirSpecs.MediaType); + + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + foreach (var file in dataProvider.FhirSpecs.Files.Keys) + { + var path = Path.GetFileNameWithoutExtension(file); + _outputHelper.WriteLine($"Sending file {file} to /fhir/{path}..."); + var httpContent = new StringContent(dataProvider.FhirSpecs.Files[file], Encoding.UTF8, dataProvider.FhirSpecs.MediaType); + var response = await httpClient.PostAsync(path, httpContent); + response.EnsureSuccessStatusCode(); + } + + stopwatch.Stop(); + _outputHelper.WriteLine($"Time to upload FHIR data={0}s...", stopwatch.Elapsed.TotalSeconds); + } + } +} diff --git a/tests/Integration.Test/Common/FhirMessages.cs b/tests/Integration.Test/Common/FhirMessages.cs new file mode 100644 index 000000000..430021d48 --- /dev/null +++ b/tests/Integration.Test/Common/FhirMessages.cs @@ -0,0 +1,27 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using static Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions.FhirDefinitions; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class FhirMessages + { + public string MediaType { get; set; } + public FileFormat FileFormat { get; set; } + public Dictionary<string, string> Files { get; set; } = new Dictionary<string, string>(); + } +} diff --git a/tests/Integration.Test/Common/Hl7DataSink.cs b/tests/Integration.Test/Common/Hl7DataSink.cs new file mode 100644 index 000000000..162ad4673 --- /dev/null +++ b/tests/Integration.Test/Common/Hl7DataSink.cs @@ -0,0 +1,139 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Net.Sockets; +using System.Text; +using Ardalis.GuardClauses; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class Hl7DataClient : IDataClient + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public Hl7DataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + Guard.Against.Null(dataProvider); + Guard.Against.NullOrEmpty(args); + + var batch = (bool)args[0]; + + if (batch) + { + await SendBatchAsync(dataProvider, args); + } + else + { + await SendOneAsync(dataProvider, args); + } + } + + private async Task SendOneAsync(DataProvider dataProvider, params object[] args) + { + using var tcpClient = new TcpClient(); + await tcpClient.ConnectAsync(_configurations.InformaticsGatewayOptions.Host, _options.Hl7.Port); + var networkStream = tcpClient.GetStream(); + foreach (var file in dataProvider.HL7Specs.Files.Keys) + { + _outputHelper.WriteLine($"Sending file {file}..."); + var data = dataProvider.HL7Specs.Files[file].GetMLLP(); + await networkStream.WriteAsync(data, 0, data.Length); + var buffer = new byte[1048576]; + var responseData = string.Empty; + do + { + if (await networkStream.ReadAsync(buffer, 0, buffer.Length) == 0) + { + break; + } + + responseData = Encoding.UTF8.GetString(buffer.ToArray()); + + var startIndex = responseData.IndexOf((char)0x0B); + if (startIndex >= 0) + { + var endIndex = responseData.IndexOf((char)0x1C); + + if (endIndex > startIndex) + { + var messageStartIndex = startIndex + 1; + var messageEndIndex = endIndex + 1; + responseData = responseData.Substring(messageStartIndex, endIndex - messageStartIndex); + break; + } + } + } while (true); + dataProvider.HL7Specs.Responses[file] = responseData; + } + tcpClient.Close(); + } + + private async Task SendBatchAsync(DataProvider dataProvider, params object[] args) + { + var messages = new List<byte>(); + foreach (var file in dataProvider.HL7Specs.Files.Keys) + { + _outputHelper.WriteLine($"Sending file {file}..."); + var data = dataProvider.HL7Specs.Files[file].GetMLLP(); + messages.AddRange(data); + } + + using var tcpClient = new TcpClient(); + await tcpClient.ConnectAsync(_configurations.InformaticsGatewayOptions.Host, _options.Hl7.Port); + var networkStream = tcpClient.GetStream(); + await networkStream.WriteAsync(messages.ToArray(), 0, messages.Count); + var buffer = new byte[512]; + var responseData = string.Empty; + + do + { + if (await networkStream.ReadAsync(buffer, 0, buffer.Length) == 0) + { + break; + } + + responseData = Encoding.UTF8.GetString(buffer.ToArray()); + var rawHl7Messages = HL7.Dotnetcore.MessageHelper.ExtractMessages(responseData); + + foreach (var message in rawHl7Messages) + { + var hl7Message = new HL7.Dotnetcore.Message(message); + hl7Message.ParseMessage(); + var segment = hl7Message.DefaultSegment("MSH"); + dataProvider.HL7Specs.Responses[segment.Fields(10).Value] = message; + } + + if (dataProvider.HL7Specs.Responses.Count == dataProvider.HL7Specs.Files.Count) + { + break; + } + } while (true); + tcpClient.Close(); + } + } +} diff --git a/tests/Integration.Test/Common/Hl7Messages.cs b/tests/Integration.Test/Common/Hl7Messages.cs new file mode 100644 index 000000000..8c9916816 --- /dev/null +++ b/tests/Integration.Test/Common/Hl7Messages.cs @@ -0,0 +1,24 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class Hl7Messages + { + public Dictionary<string, HL7.Dotnetcore.Message> Files { get; set; } = new Dictionary<string, HL7.Dotnetcore.Message>(); + public Dictionary<string, string> Responses { get; set; } = new Dictionary<string, string>(); + } +} diff --git a/tests/Integration.Test/Common/IDataClient.cs b/tests/Integration.Test/Common/IDataClient.cs new file mode 100644 index 000000000..6f8f5a580 --- /dev/null +++ b/tests/Integration.Test/Common/IDataClient.cs @@ -0,0 +1,24 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal interface IDataClient + { + Task SendAsync(DataProvider dataProvider, params object[] args); + } +} diff --git a/tests/Integration.Test/Common/MinioDataSink.cs b/tests/Integration.Test/Common/MinioDataSink.cs new file mode 100644 index 000000000..d90da035f --- /dev/null +++ b/tests/Integration.Test/Common/MinioDataSink.cs @@ -0,0 +1,95 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Diagnostics; +using Minio; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + internal class MinioDataClient : IDataClient + { + private readonly Configurations _configurations; + private readonly InformaticsGatewayConfiguration _options; + private readonly ISpecFlowOutputHelper _outputHelper; + + public MinioDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) + { + _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + } + + public async Task SendAsync(DataProvider dataProvider, params object[] args) + { + var minioClient = CreateMinioClient(); + + var stopwatch = new Stopwatch(); + stopwatch.Start(); + + _outputHelper.WriteLine($"Uploading {dataProvider.DicomSpecs.FileCount} files to MinIO..."); + + foreach (var file in dataProvider.DicomSpecs.Files) + { + var filename = file.GenerateFileName(); + var stream = new MemoryStream(); + await file.SaveAsync(stream); + stream.Position = 0; + var puObjectArgs = new PutObjectArgs(); + puObjectArgs.WithBucket(_options.Storage.StorageServiceBucketName) + .WithObject(filename) + .WithStreamData(stream) + .WithObjectSize(stream.Length); + await minioClient.PutObjectAsync(puObjectArgs); + } + + stopwatch.Stop(); + _outputHelper.WriteLine($"Time to upload to Minio={0}s...", stopwatch.Elapsed.TotalSeconds); + } + + private MinioClient CreateMinioClient() => new MinioClient() + .WithEndpoint(_options.Storage.Settings["endpoint"]) + .WithCredentials(_options.Storage.Settings["accessKey"], _options.Storage.Settings["accessToken"]) + .Build(); + + internal void CleanBucketAsync() + { + var stopwatch = new Stopwatch(); + stopwatch.Start(); + var count = 0; + var minioClient = CreateMinioClient(); + var listObjectArgs = new ListObjectsArgs() + .WithBucket(_options.Storage.StorageServiceBucketName) + .WithRecursive(true); + + var objects = minioClient.ListObjectsAsync(listObjectArgs); + objects.Subscribe(async (item) => + { + var deletObjectsArgs = new RemoveObjectArgs() + .WithBucket(_options.Storage.StorageServiceBucketName) + .WithObject(item.Key); + await minioClient.RemoveObjectAsync(deletObjectsArgs).ConfigureAwait(false); + count++; + }, + ex => Console.WriteLine($"Error listing objects: {ex}"), + () => Console.WriteLine($"Listed all objects in bucket {_options.Storage.StorageServiceBucketName}\n")); + stopwatch.Stop(); + _outputHelper.WriteLine($"Cleaned up {0} objects from Minio in {1}s...", count, stopwatch.Elapsed.TotalSeconds); + } + } +} diff --git a/tests/Integration.Test/Common/RabbitConnectionFactory.cs b/tests/Integration.Test/Common/RabbitConnectionFactory.cs new file mode 100644 index 000000000..ad357e62f --- /dev/null +++ b/tests/Integration.Test/Common/RabbitConnectionFactory.cs @@ -0,0 +1,89 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Configuration; +using RabbitMQ.Client; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common +{ + public static class RabbitConnectionFactory + { + private static IModel Channel { get; set; } + + public static IModel GetRabbitConnection(MessageBrokerConfiguration configuration) + { + var connectionFactory = new ConnectionFactory + { + HostName = configuration.PublisherSettings["endpoint"], + UserName = configuration.PublisherSettings["username"], + Password = configuration.PublisherSettings["password"], + VirtualHost = configuration.PublisherSettings["virtualHost"], + }; + + Channel = connectionFactory.CreateConnection().CreateModel(); + + return Channel; + } + + public static void DeleteQueue(MessageBrokerConfiguration configuration, string queueName) + { + if (Channel is null) + { + GetRabbitConnection(configuration); + } + + Channel?.QueueDelete(queueName); + } + + public static void PurgeQueue(MessageBrokerConfiguration configuration, string queueName) + { + if (Channel is null || Channel.IsClosed) + { + GetRabbitConnection(configuration); + } + + try + { + Channel?.QueuePurge(queueName); + } + catch (Exception) + { + } + } + + public static void DeleteAllQueues(InformaticsGatewayConfiguration configuration) + { + DeleteQueue(configuration.Messaging, configuration.Messaging.Topics.WorkflowRequest); + DeleteQueue(configuration.Messaging, configuration.Messaging.Topics.ExportComplete); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.ExportRequestPrefix}.{configuration.Dicom.Scu.AgentName}"); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.ExportRequestPrefix}.{configuration.DicomWeb.AgentName}"); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.WorkflowRequest}-dead-letter"); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.ExportComplete}-dead-letter"); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.ExportRequestPrefix}.{configuration.Dicom.Scu.AgentName}-dead-letter"); + DeleteQueue(configuration.Messaging, $"{configuration.Messaging.Topics.ExportRequestPrefix}.{configuration.DicomWeb.AgentName}-dead-letter"); + } + + public static void PurgeAllQueues(MessageBrokerConfiguration configuration) + { + PurgeQueue(configuration, configuration.Topics.WorkflowRequest); + PurgeQueue(configuration, configuration.Topics.ExportComplete); + PurgeQueue(configuration, configuration.Topics.ExportRequestPrefix); // TODO + PurgeQueue(configuration, $"{configuration.Topics.WorkflowRequest}-dead-letter"); + PurgeQueue(configuration, $"{configuration.Topics.ExportComplete}-dead-letter"); + PurgeQueue(configuration, $"{configuration.Topics.ExportRequestPrefix}-dead-letter"); // TODO + } + } +} diff --git a/tests/Integration.Test/Drivers/Configurations.cs b/tests/Integration.Test/Drivers/Configurations.cs index 9aaa59cc5..230df3e42 100644 --- a/tests/Integration.Test/Drivers/Configurations.cs +++ b/tests/Integration.Test/Drivers/Configurations.cs @@ -25,33 +25,28 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers public sealed class Configurations { private readonly IConfiguration _config; - private readonly ISpecFlowOutputHelper _outputHelper; - public TestRunnerSettings TestRunnerOptions { get; private set; } + public static Configurations Instance { get; private set; } + public InformaticsGatewaySettings InformaticsGatewayOptions { get; private set; } - public MessageBrokerSettings MessageBrokerOptions { get; private set; } public Dictionary<string, StudySpec> StudySpecs { get; private set; } - public StorageServiceSettings StorageServiceOptions { get; private set; } public OrthancSettings OrthancOptions { get; private set; } - public Configurations(ISpecFlowOutputHelper outputHelper) + private Configurations(ISpecFlowOutputHelper outputHelper) { - TestRunnerOptions = new TestRunnerSettings(); - InformaticsGatewayOptions = new InformaticsGatewaySettings(); - MessageBrokerOptions = new MessageBrokerSettings(); - StorageServiceOptions = new StorageServiceSettings(); OrthancOptions = new OrthancSettings(); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); StudySpecs = LoadStudySpecs() ?? throw new NullReferenceException("study.json not found or empty."); - outputHelper.WriteLine($"StudySpecs={JsonSerializer.Serialize(StudySpecs)}"); - _config = new ConfigurationBuilder() - .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) - .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT")}.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.ext.json", optional: false, reloadOnChange: false) .Build(); - LoadConfiguration(); + LoadConfiguration(outputHelper); + } + + internal static void Initialize(ISpecFlowOutputHelper outputHelper) + { + Instance = new Configurations(outputHelper); } private Dictionary<string, StudySpec> LoadStudySpecs() @@ -68,47 +63,25 @@ private Dictionary<string, StudySpec> LoadStudySpecs() return JsonSerializer.Deserialize<Dictionary<string, StudySpec>>(studyJson); } - private void LoadConfiguration() + private void LoadConfiguration(ISpecFlowOutputHelper outputHelper) { - _config.GetSection(nameof(TestRunnerSettings)).Bind(TestRunnerOptions); - _config.GetSection(nameof(InformaticsGatewaySettings)).Bind(InformaticsGatewayOptions); - _config.GetSection(nameof(MessageBrokerSettings)).Bind(MessageBrokerOptions); - _config.GetSection(nameof(StorageServiceSettings)).Bind(StorageServiceOptions); + InformaticsGatewayOptions = new InformaticsGatewaySettings(); + _config.GetSection(nameof(OrthancSettings)).Bind(OrthancOptions); var hostIp = Environment.GetEnvironmentVariable("HOST_IP"); if (hostIp is not null) { - if (TestRunnerOptions.HostIp == "$HOST_IP") - { - TestRunnerOptions.HostIp = hostIp; - } - _outputHelper.WriteLine("Test Runner Host/IP = {0}", TestRunnerOptions.HostIp); - if (InformaticsGatewayOptions.Host == "$HOST_IP") - { - InformaticsGatewayOptions.Host = hostIp; - } - _outputHelper.WriteLine("Informatics Gateway Host/IP = {0}", InformaticsGatewayOptions.Host); - if (MessageBrokerOptions.Endpoint == "$HOST_IP") - { - MessageBrokerOptions.Endpoint = hostIp; - } - _outputHelper.WriteLine("Message Broker Host/IP = {0}", MessageBrokerOptions.Endpoint); - if (StorageServiceOptions.Host == "$HOST_IP") - { - StorageServiceOptions.Host = hostIp; - } - _outputHelper.WriteLine("Storage Service Host/IP = {0}", StorageServiceOptions.Host); if (OrthancOptions.Host == "$HOST_IP") { OrthancOptions.Host = hostIp; } - _outputHelper.WriteLine("Orthanc Host/IP = {0}", OrthancOptions.Host); + outputHelper.WriteLine("Orthanc Host/IP = {0}", OrthancOptions.Host); if (OrthancOptions.DicomWebRoot.Contains("$HOST_IP")) { OrthancOptions.DicomWebRoot = OrthancOptions.DicomWebRoot.Replace("$HOST_IP", hostIp); } - _outputHelper.WriteLine("Orthanc DICOM web endpoint = {0}", OrthancOptions.DicomWebRoot); + outputHelper.WriteLine("Orthanc DICOM web endpoint = {0}", OrthancOptions.DicomWebRoot); } } } @@ -130,11 +103,6 @@ public class OrthancSettings /// </summary> public string DicomWebRoot { get; set; } - /// <summary> - /// Gets or sets the root URI of the Orthanc DICOMweb service used by IG. - /// </summary> - public string DicomWebRootInternal { get; set; } - /// <summary> /// Gets or sets the username to access Orthanc. /// </summary> @@ -152,57 +120,17 @@ public string GetBase64EncodedAuthHeader() } } - public class StorageServiceSettings - { - public string Host { get; set; } - public int Port { get; set; } - public string AccessToken { get; set; } - public string AccessKey { get; set; } - - public string Endpoint => $"{Host}:{Port}"; - } - - public class TestRunnerSettings - { - /// <summary> - /// Gets or sets the Host/IP Address used when createing a DICOM source. - /// If not specified, the test runner would query and use first available IPv4 IP Address. - /// </summary> - /// <value></value> - public string HostIp { get; set; } - - /// <summary> - /// Gets or sets the name of the bucket test files are uploaded to. - /// </summary> - public string Bucket { get; set; } - } - public class InformaticsGatewaySettings { /// <summary> /// Gets or set host name or IP address of the Informatics Gateway. /// </summary> - public string Host { get; set; } - - /// <summary> - /// Gets or sets the DIMSE port of the Informatics Gateway. - /// </summary> - public int DimsePort { get; set; } + public string Host { get; set; } = "127.0.0.1"; /// <summary> /// Gets or sets the RESTful API port of the Informatics Gateway. /// </summary> - public int ApiPort { get; set; } - - /// <summary> - /// Gets or sets the HL7 listening port on the Informatics Gateway. - /// </summary> - public int Hl7Port { get; set; } - - /// <summary> - /// Gets or sets the name of the bucket used by the storage service. - /// </summary> - public string StorageServiceBucketName { get; set; } + public int ApiPort { get; set; } = 5000; /// <summary> /// Gets the API endpoint of the Informatics Gateway. @@ -239,13 +167,4 @@ public long SizeMaxBytes get { return (long)(SizeMax * OneMiB); } } } - - public class MessageBrokerSettings - { - public string Endpoint { get; set; } - public string Username { get; set; } - public string Password { get; set; } - public string VirtualHost { get; set; } - public string Exchange { get; set; } - } } diff --git a/tests/Integration.Test/Drivers/DicomInstanceGenerator.cs b/tests/Integration.Test/Drivers/DicomInstanceGenerator.cs index 204d147ee..727c19cf3 100644 --- a/tests/Integration.Test/Drivers/DicomInstanceGenerator.cs +++ b/tests/Integration.Test/Drivers/DicomInstanceGenerator.cs @@ -14,43 +14,17 @@ * limitations under the License. */ +using System.Diagnostics; using FellowOakDicom; using FellowOakDicom.Imaging; using FellowOakDicom.IO.Buffer; +using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers { - public class DicomInstanceGenerator + internal class DicomInstanceGenerator { - public class StudyGenerationSpecs - { - public List<string> StudyInstanceUids { get; set; } - public int StudyCount { get; set; } - public int SeriesPerStudyCount { get; set; } - public int InstancePerSeries { get; set; } - public int FileCount { get; set; } - public List<DicomFile> Files { get; set; } - - public int NumberOfExpectedRequests(string grouping) => grouping switch - { - "0020,000D" => StudyCount, - "0020,000E" => StudyCount * SeriesPerStudyCount, - "stow_none" => 1, // For DICOMweb STOW-RS - "stow_study" => 1, // For DICOMweb STOW-RS - _ => throw new ArgumentException($"Grouping '{grouping} not supported.") - }; - - public int NumberOfExpectedFiles(string grouping) => grouping switch - { - "0020,000D" => SeriesPerStudyCount * InstancePerSeries, - "0020,000E" => InstancePerSeries, - "stow_none" => FileCount, // For DICOMweb STOW-RS - "stow_study" => SeriesPerStudyCount * InstancePerSeries, // For DICOMweb STOW-RS - _ => throw new ArgumentException($"Grouping '{grouping} not supported.") - }; - } - private const int Rows = 1024; private const int Columns = 1024; @@ -115,14 +89,16 @@ public DicomFile GenerateNewInstance(long size, string sopClassUid = "1.2.840.10 return new DicomFile(dataset); } - public StudyGenerationSpecs Generate(string patientId, int studiesPerPatient, string modality, StudySpec studySpec) => + public DicomDataSpecs Generate(string patientId, int studiesPerPatient, string modality, StudySpec studySpec) => Generate(patientId, studiesPerPatient, _random.Next(studySpec.SeriesMin, studySpec.SeriesMax), modality, studySpec); - public StudyGenerationSpecs Generate(string patientId, int studiesPerPatient, int seriesPerStudy, string modality, StudySpec studySpec) + public DicomDataSpecs Generate(string patientId, int studiesPerPatient, int seriesPerStudy, string modality, StudySpec studySpec) { if (string.IsNullOrWhiteSpace(patientId)) throw new ArgumentNullException(nameof(patientId)); if (studySpec is null) throw new ArgumentNullException(nameof(studySpec)); + var stopwatch = new Stopwatch(); + stopwatch.Start(); studySpec.InstanceMin.Should().BeGreaterThan(0); studySpec.InstanceMax.Should().BeGreaterThan(0); @@ -152,14 +128,18 @@ public StudyGenerationSpecs Generate(string patientId, int studiesPerPatient, in dicomFile?.Dataset.GetSingleValueOrDefault(DicomTag.StudyInstanceUID, "N/A")); } - return new StudyGenerationSpecs + stopwatch.Stop(); + _outputHelper.WriteLine("Generated {0} instances in {1} seconds", files.Count, stopwatch.Elapsed.TotalSeconds); + + return new DicomDataSpecs { Files = files, InstancePerSeries = instancesPerSeries, SeriesPerStudyCount = seriesPerStudy, StudyCount = studiesPerPatient, FileCount = files.Count, - StudyInstanceUids = studyInstanceUids + StudyInstanceUids = studyInstanceUids, + FileHashes = new Dictionary<string, string>() }; } diff --git a/tests/Integration.Test/Hooks/SqlHooks.cs b/tests/Integration.Test/Drivers/EfDataProvider.cs similarity index 63% rename from tests/Integration.Test/Hooks/SqlHooks.cs rename to tests/Integration.Test/Drivers/EfDataProvider.cs index 3d48f0c68..bea238fb1 100644 --- a/tests/Integration.Test/Hooks/SqlHooks.cs +++ b/tests/Integration.Test/Drivers/EfDataProvider.cs @@ -14,39 +14,28 @@ * limitations under the License. */ -using Microsoft.EntityFrameworkCore; +using BoDi; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions; using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks { - [Binding] - public sealed class SqlHooks + public sealed class EfDataProvider : IDatabaseDataProvider { private readonly ISpecFlowOutputHelper _outputHelper; private readonly Configurations _configuration; - private readonly ScenarioContext _scenarioContext; private readonly InformaticsGatewayContext _dbContext; - public SqlHooks(ISpecFlowOutputHelper outputHelper, Configurations configuration, ScenarioContext scenarioContext) + public EfDataProvider(ISpecFlowOutputHelper outputHelper, Configurations configuration, InformaticsGatewayContext informaticsGatewayContext) { _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - - var dbPath = Path.Combine(Environment.GetEnvironmentVariable("SCRIPT_DIR"), ".run", "ig", "database", "mig.db"); - _outputHelper.WriteLine("DICOM Adapter Database: {0}", dbPath); - - var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); - builder.UseSqlite($"Data Source={dbPath}"); - _dbContext = new InformaticsGatewayContext(builder.Options); + _dbContext = informaticsGatewayContext ?? throw new ArgumentNullException(nameof(informaticsGatewayContext)); ; } - [BeforeScenario("@sql_inject_acr_request")] - public async Task BeforeMessagingExportComplete(ISpecFlowOutputHelper outputHelper, ScenarioContext scenarioContext) + public async Task<string> InjectAcrRequest() { var request = new InferenceRequest { @@ -59,7 +48,7 @@ public async Task BeforeMessagingExportComplete(ISpecFlowOutputHelper outputHelp Interface = InputInterfaceType.DicomWeb, ConnectionDetails = new DicomWebConnectionDetails { - Uri = _configuration.OrthancOptions.DicomWebRootInternal, + Uri = _configuration.OrthancOptions.DicomWebRoot, AuthId = _configuration.OrthancOptions.GetBase64EncodedAuthHeader(), AuthType = ConnectionAuthType.Basic } @@ -68,8 +57,8 @@ public async Task BeforeMessagingExportComplete(ISpecFlowOutputHelper outputHelp }; _dbContext.Add(request); await _dbContext.SaveChangesAsync(); - scenarioContext[DicomDimseScuServicesStepDefinitions.KeyDestination] = request.TransactionId; - outputHelper.WriteLine($"Injected ACR request {request.TransactionId}"); + _outputHelper.WriteLine($"Injected ACR request {request.TransactionId}"); + return request.TransactionId; } } } diff --git a/tests/Integration.Test/Hooks/DicomWebStowHooks.cs b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs similarity index 54% rename from tests/Integration.Test/Hooks/DicomWebStowHooks.cs rename to tests/Integration.Test/Drivers/IDatabaseDataProvider.cs index 72ba71334..514b0e200 100644 --- a/tests/Integration.Test/Hooks/DicomWebStowHooks.cs +++ b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs @@ -1,4 +1,4 @@ -/* +/* * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,23 +14,10 @@ * limitations under the License. */ -using Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions; - namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks { - [Binding] - public sealed class DicomWebStowHooks + public interface IDatabaseDataProvider { - [BeforeScenario("@dicomweb_stow")] - public void DicomWebStow(ScenarioContext scenarioContext) - { - scenarioContext[SharedDefinitions.KeyDataGrouping] = "stow_none"; - } - - [BeforeScenario("@dicomweb_stow_study")] - public void DicomWebStow_WithStudyInstanceUid(ScenarioContext scenarioContext) - { - scenarioContext[SharedDefinitions.KeyDataGrouping] = "stow_study"; - } + Task<string> InjectAcrRequest(); } } diff --git a/tests/Integration.Test/Drivers/RabbitMqConsumer.cs b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs new file mode 100644 index 000000000..cff8b6a32 --- /dev/null +++ b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs @@ -0,0 +1,89 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Collections.Concurrent; +using Monai.Deploy.Messaging.Messages; +using Monai.Deploy.Messaging.RabbitMQ; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers +{ + internal class RabbitMqConsumer : IDisposable + { + private readonly RabbitMQMessageSubscriberService _subscriberService; + private readonly string _queueName; + private readonly ISpecFlowOutputHelper _outputHelper; + private readonly ConcurrentBag<Message> _messages; + private bool _disposedValue; + + public IReadOnlyList<Message> Messages + { get { return _messages.ToList(); } } + public CountdownEvent MessageWaitHandle { get; private set; } + + public RabbitMqConsumer(RabbitMQMessageSubscriberService subscriberService, string queueName, ISpecFlowOutputHelper outputHelper) + { + if (string.IsNullOrWhiteSpace(queueName)) + { + throw new ArgumentException($"'{nameof(queueName)}' cannot be null or whitespace.", nameof(queueName)); + } + _subscriberService = subscriberService ?? throw new ArgumentNullException(nameof(subscriberService)); + _queueName = queueName; + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _messages = new ConcurrentBag<Message>(); + + subscriberService.Subscribe( + queueName, + queueName, + (eventArgs) => + { + _outputHelper.WriteLine($"Message received from queue {queueName} for {queueName}."); + _messages.Add(eventArgs.Message); + subscriberService.Acknowledge(eventArgs.Message); + _outputHelper.WriteLine($"{DateTime.UtcNow} - {queueName} message received with correlation ID={eventArgs.Message.CorrelationId}, delivery tag={eventArgs.Message.DeliveryTag}"); + MessageWaitHandle?.Signal(); + }); + } + + public void SetupMessageHandle(int count) + { + _outputHelper.WriteLine($"Expecting {count} {_queueName} messages from RabbitMQ"); + _messages.Clear(); + MessageWaitHandle = new CountdownEvent(count); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _subscriberService.Dispose(); + } + + _disposedValue = true; + } + } + + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/tests/Integration.Test/Features/DicomWebExport.feature b/tests/Integration.Test/Features/DicomWebExport.feature index 7237e6d76..10a376f57 100644 --- a/tests/Integration.Test/Features/DicomWebExport.feature +++ b/tests/Integration.Test/Features/DicomWebExport.feature @@ -21,9 +21,10 @@ Feature: DICOMweb Export Service - [REQ-DCW-03] MIG SHALL be able to export to DICOMweb services via STOW-RS - [REQ-DCW-07] MIG SHALL support exporting data to multiple DICOMweb destinations - @messaging_export_complete @messaging @sql_inject_acr_request + @messaging_export_complete @messaging Scenario: Export to a DICOMweb service - Given 1 <modality> studies for export + Given an ACR request in the database + And 1 <modality> studies for export When a export request is sent for 'md.export.request.monaidicomweb' Then Informatics Gateway exports the studies to Orthanc diff --git a/tests/Integration.Test/Features/DicomWebStow.feature b/tests/Integration.Test/Features/DicomWebStow.feature index 0585f1263..bde7ec334 100644 --- a/tests/Integration.Test/Features/DicomWebStow.feature +++ b/tests/Integration.Test/Features/DicomWebStow.feature @@ -20,9 +20,9 @@ Feature: DICOMweb STOW-RS Service Requirements covered: - [STOW-RS] MIG SHALL be able to allow users to upload DICOM objects via DICOMweb STOW-RS - @messaging_workflow_request @messaging @dicomweb_stow + @messaging_workflow_request @messaging Scenario: Triggers a new workflow request via DICOMWeb STOW-RS - Given <count> <modality> studies + Given <count> <modality> studies with 'stow_none' grouping When the studies are uploaded to the DICOMWeb STOW-RS service at '/dicomweb/' Then 1 workflow requests sent to message broker And studies are uploaded to storage service @@ -31,9 +31,9 @@ Feature: DICOMweb STOW-RS Service | MR | 1 | | MG | 2 | - @messaging_workflow_request @messaging @dicomweb_stow_study + @messaging_workflow_request @messaging Scenario: Triggers a new workflow with given study instance UID request via DICOMWeb STOW-RS - Given <count> <modality> studies + Given <count> <modality> studies with 'stow_study' grouping When the studies are uploaded to the DICOMWeb STOW-RS service at '/dicomweb/' with StudyInstanceUid Then 1 workflow requests sent to message broker And studies are uploaded to storage service @@ -42,9 +42,9 @@ Feature: DICOMweb STOW-RS Service | CT | 2 | | US | 1 | - @messaging_workflow_request @messaging @dicomweb_stow + @messaging_workflow_request @messaging Scenario: Triggers a new workflow via DICOMWeb STOW-RS - Given <count> <modality> studies + Given <count> <modality> studies with 'stow_none' grouping And a workflow named 'MyWorkflow' When the studies are uploaded to the DICOMWeb STOW-RS service at '/dicomweb/' Then 1 workflow requests sent to message broker @@ -54,9 +54,9 @@ Feature: DICOMweb STOW-RS Service | MR | 2 | | US | 1 | - @messaging_workflow_request @messaging @dicomweb_stow_study + @messaging_workflow_request @messaging Scenario: Triggers a specific workflow with given study instance UID request via DICOMWeb STOW-RS - Given <count> <modality> studies + Given <count> <modality> studies with 'stow_study' grouping And a workflow named 'MyWorkflow' When the studies are uploaded to the DICOMWeb STOW-RS service at '/dicomweb/' with StudyInstanceUid Then 1 workflow requests sent to message broker diff --git a/tests/Integration.Test/Features/HealthLevel7.feature b/tests/Integration.Test/Features/HealthLevel7.feature index a1bb03afa..eaabed49c 100644 --- a/tests/Integration.Test/Features/HealthLevel7.feature +++ b/tests/Integration.Test/Features/HealthLevel7.feature @@ -19,7 +19,7 @@ Feature: Health Level 7 Scenario Outline: Ability to store different versions of HL7 messages Given HL7 messages in version <version> When the message are sent to Informatics Gateway - Then acknowledgement are received + Then acknowledgment are received And a workflow requests sent to message broker And messages are uploaded to storage service @@ -36,7 +36,7 @@ Feature: Health Level 7 Scenario Outline: Ability to receive and store multiple messages in a single batch Given HL7 messages in version <version> When the message are sent to Informatics Gateway in one batch - Then acknowledgement are received + Then acknowledgment are received And a workflow requests sent to message broker And messages are uploaded to storage service @@ -47,4 +47,4 @@ Feature: Health Level 7 | 2.4 | | 2.5.1 | | 2.6 | - | 2.8 | \ No newline at end of file + | 2.8 | diff --git a/tests/Integration.Test/Hooks/HttpClientHooks.cs b/tests/Integration.Test/Hooks/HttpClientHooks.cs deleted file mode 100644 index 2097863e2..000000000 --- a/tests/Integration.Test/Hooks/HttpClientHooks.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using BoDi; -using Microsoft.Extensions.Logging; -using Monai.Deploy.InformaticsGateway.Client; -using Moq; - -namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks -{ - [Binding] - public sealed class HttpClientHooks - { - private readonly IObjectContainer _objectContainer; - private readonly HttpClient _client; - private readonly Mock<ILogger<InformaticsGatewayClient>> _informaticsGatewayClientLogger; - - public HttpClientHooks(IObjectContainer objectContainer) - { - _objectContainer = objectContainer; - _client = HttpClientFactory.Create(); - _informaticsGatewayClientLogger = new Mock<ILogger<InformaticsGatewayClient>>(); - } - - [BeforeScenario(Order = 1)] - public void FirstBeforeScenario() - { - _objectContainer.RegisterInstanceAs(_client); - _objectContainer.RegisterInstanceAs(_informaticsGatewayClientLogger.Object); - } - } -} diff --git a/tests/Integration.Test/Hooks/RabbitMqHooks.cs b/tests/Integration.Test/Hooks/RabbitMqHooks.cs deleted file mode 100644 index 2b7e09007..000000000 --- a/tests/Integration.Test/Hooks/RabbitMqHooks.cs +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System.Globalization; -using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.Messaging.Messages; -using RabbitMQ.Client; -using RabbitMQ.Client.Events; -using TechTalk.SpecFlow.Infrastructure; - -namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks -{ - [Binding] - public sealed class RabbitMqHooks - { - internal static readonly string ScenarioContextKey = "MESSAAGES"; - private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly ScenarioContext _scenarioContext; - private readonly ConnectionFactory _connectionFactory; - private readonly MessageBrokerConfigurationKeys _configurationKeys; - private readonly IConnection _connection; - private readonly IModel _channel; - private string _consumerTag; - public CountdownEvent MessageWaitHandle { get; private set; } - - public RabbitMqHooks(ISpecFlowOutputHelper outputHelper, Configurations configuration, ScenarioContext scenarioContext) - { - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _connectionFactory = new ConnectionFactory() - { - HostName = _configuration.MessageBrokerOptions.Endpoint, - UserName = _configuration.MessageBrokerOptions.Username, - Password = _configuration.MessageBrokerOptions.Password, - VirtualHost = _configuration.MessageBrokerOptions.VirtualHost - }; - - _configurationKeys = new MessageBrokerConfigurationKeys(); - outputHelper.WriteLine($"Message broker connecting to {_configuration.MessageBrokerOptions.Endpoint}/{_configuration.MessageBrokerOptions.VirtualHost}"); - _connection = _connectionFactory.CreateConnection(); - _channel = _connection.CreateModel(); - _channel.ExchangeDeclare(_configuration.MessageBrokerOptions.Exchange, ExchangeType.Topic, durable: true); - _channel.BasicQos(prefetchSize: 0, prefetchCount: 1, global: false); - } - - [BeforeScenario("@messaging_export_complete")] - public void BeforeMessagingExportComplete() - { - BeforeMessagingSubscribeTo(_configurationKeys.ExportComplete); - } - - [BeforeScenario("@messaging_workflow_request")] - public void BeforeMessagingWorkflowRequest() - { - BeforeMessagingSubscribeTo(_configurationKeys.WorkflowRequest); - } - - private void BeforeMessagingSubscribeTo(string queue) - { - if (_scenarioContext.ContainsKey(ScenarioContextKey) && _scenarioContext[ScenarioContextKey] is IList<Message> messages && messages.Count > 0) - { - _outputHelper.WriteLine($"Existing message queue wasn't empty and contains {messages.Count} messages but will be cleared."); - } - _scenarioContext.Add(ScenarioContextKey, new List<Message>()); - - _channel.QueueDeclare(queue: queue, durable: true, exclusive: false, autoDelete: false); - _channel.QueueBind(queue, _configuration.MessageBrokerOptions.Exchange, queue); - - var messagesPurged = _channel.QueuePurge(queue); - _outputHelper.WriteLine($"{messagesPurged} messages purged from the queue {queue}."); - - var consumer = new EventingBasicConsumer(_channel); - consumer.Received += (model, eventArgs) => - { - _outputHelper.WriteLine($"Message received from queue {queue} for {queue}."); - - var messsage = new Message( - body: eventArgs.Body.ToArray(), - messageDescription: eventArgs.BasicProperties.Type, - messageId: eventArgs.BasicProperties.MessageId, - applicationId: eventArgs.BasicProperties.AppId, - contentType: eventArgs.BasicProperties.ContentType, - correlationId: eventArgs.BasicProperties.CorrelationId, - creationDateTime: DateTimeOffset.FromUnixTimeSeconds(eventArgs.BasicProperties.Timestamp.UnixTime), - deliveryTag: eventArgs.DeliveryTag.ToString(CultureInfo.InvariantCulture)); - - (_scenarioContext[ScenarioContextKey] as IList<Message>)?.Add(messsage); - _channel.BasicAck(eventArgs.DeliveryTag, false); - _outputHelper.WriteLine($"{DateTime.UtcNow} - {queue} message received with correlation ID={messsage.CorrelationId}, delivery tag={messsage.DeliveryTag}"); - MessageWaitHandle.Signal(); - }; - _channel.BasicQos(0, 0, false); - _consumerTag = _channel.BasicConsume(queue, false, consumer); - _outputHelper.WriteLine($"Listening for messages from {_configuration.MessageBrokerOptions.Endpoint}/{_configuration.MessageBrokerOptions.VirtualHost}. Exchange={_configuration.MessageBrokerOptions.Exchange}, Queue={queue}, Routing Key={queue}"); - } - - internal void Publish(string routingKey, Message message) - { - var propertiesDictionary = new Dictionary<string, object> - { - { "CreationDateTime", message.CreationDateTime.ToString("o") } - }; - - var properties = _channel.CreateBasicProperties(); - properties.Persistent = true; - properties.ContentType = message.ContentType; - properties.MessageId = message.MessageId; - properties.AppId = message.ApplicationId; - properties.CorrelationId = message.CorrelationId; - properties.DeliveryMode = 2; - properties.Type = message.MessageDescription; - properties.Timestamp = new AmqpTimestamp(message.CreationDateTime.ToUnixTimeSeconds()); - - properties.Headers = propertiesDictionary; - _channel.BasicPublish(exchange: _configuration.MessageBrokerOptions.Exchange, - routingKey: routingKey, - basicProperties: properties, - body: message.Body); - } - - [AfterScenario("@messaging")] - public void AfterScenario() - { - _scenarioContext.Remove(ScenarioContextKey); - _channel.BasicCancel(_consumerTag); - } - - public void SetupMessageHandle(int count) - { - MessageWaitHandle = new CountdownEvent(count); - } - } -} diff --git a/tests/Integration.Test/Hooks/ScpHooks.cs b/tests/Integration.Test/Hooks/ScpHooks.cs deleted file mode 100644 index 706e8a424..000000000 --- a/tests/Integration.Test/Hooks/ScpHooks.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using FellowOakDicom.Network; -using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using TechTalk.SpecFlow.Infrastructure; - -namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks -{ - [Binding] - public static class ScpHooks - { - private static IDicomServer s_dicomServer; - - internal static readonly string KeyServerData = "SERVER-DATA"; - internal static readonly string FeatureScpAeTitle = "TEST-SCP"; - internal static readonly int FeatureScpPort = 1105; - - [BeforeFeature("@scp")] - public static void BeforeMessagingExportComplete(ISpecFlowOutputHelper outputHelper, FeatureContext featureContext) - { - try - { - var data = new ServerData { Context = featureContext, OutputHelper = outputHelper }; - s_dicomServer = DicomServerFactory.Create<CStoreScp>(FeatureScpPort, userState: data); - featureContext[KeyServerData] = data; - } - catch (Exception ex) - { - outputHelper.WriteLine("Exception while starting DICOM SCP Listener: {0}", ex); - } - } - - [AfterFeature("@scp")] - public static void AfterScenario(ISpecFlowOutputHelper outputHelper, FeatureContext featureContext) - { - try - { - featureContext.Remove(KeyServerData); - s_dicomServer?.Stop(); - s_dicomServer?.Dispose(); - } - catch (Exception ex) - { - outputHelper.WriteLine("Exception while stopping DICOM SCP Listener: {0}", ex); - } - } - } -} diff --git a/tests/Integration.Test/Hooks/TestHooks.cs b/tests/Integration.Test/Hooks/TestHooks.cs new file mode 100644 index 000000000..4c5171b98 --- /dev/null +++ b/tests/Integration.Test/Hooks/TestHooks.cs @@ -0,0 +1,197 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Diagnostics; +using BoDi; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Client; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; +using Monai.Deploy.InformaticsGateway.Integration.Test.Common; +using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.Messaging.RabbitMQ; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks +{ + [Binding] + public sealed class TestHooks + { + private static IHost s_informaticsGatewayHost; + private static IOptions<InformaticsGatewayConfiguration> s_options; + private static RabbitMQConnectionFactory s_rabbitMqConnectionFactory; + private static RabbitMQMessagePublisherService s_rabbitMqPublisher; + private static RabbitMqConsumer s_rabbitMqConsumer_WorkflowRequest; + private static RabbitMqConsumer s_rabbitMqConsumer_ExportComplete; + private static EfDataProvider s_database; + private static DicomScp s_dicomServer; + private static DataProvider s_dataProvider; + private static Assertions s_assertions; + private static FhirDataClient s_fhirSink; + private static DicomWebDataClient s_dicomWebSink; + private static MinioDataClient s_minioSink; + private static Hl7DataClient s_hl7Sink; + private static DicomCEchoDataClient s_echoscu; + private static DicomCStoreDataClient s_storescu; + private static InformaticsGatewayClient s_informaticsGatewayClient; + + private readonly IObjectContainer _objectContainer; + + public TestHooks(IObjectContainer objectContainer) + { + _objectContainer = objectContainer; + } + + /// <summary> + /// Runs before all tests to create static implementions of Rabbit and Mongo clients as well as starting the WorkflowManager using WebApplicationFactory. + /// </summary> + [BeforeTestRun(Order = 0)] + public static void Init(ISpecFlowOutputHelper outputHelper) + { + SetupInformaticsGateway(); + using var scope = s_informaticsGatewayHost.Services.CreateScope(); + s_options = scope.ServiceProvider.GetRequiredService<IOptions<InformaticsGatewayConfiguration>>(); + Configurations.Initialize(outputHelper); + SetupRabbitMq(outputHelper, scope); + + s_database = GetDatabase(scope.ServiceProvider, outputHelper); + s_dicomServer = new DicomScp(outputHelper); + s_dataProvider = new DataProvider(Configurations.Instance, outputHelper); + s_assertions = new Assertions(Configurations.Instance, s_options.Value, outputHelper); + s_fhirSink = new FhirDataClient(Configurations.Instance, s_options.Value, outputHelper); + s_dicomWebSink = new DicomWebDataClient(Configurations.Instance, s_options.Value, outputHelper); + s_minioSink = new MinioDataClient(Configurations.Instance, s_options.Value, outputHelper); + s_hl7Sink = new Hl7DataClient(Configurations.Instance, s_options.Value, outputHelper); + s_echoscu = new DicomCEchoDataClient(Configurations.Instance, s_options.Value, outputHelper); + s_storescu = new DicomCStoreDataClient(Configurations.Instance, s_options.Value, outputHelper); + s_informaticsGatewayClient = new InformaticsGatewayClient(HttpClientFactory.Create(), scope.ServiceProvider.GetRequiredService<ILogger<InformaticsGatewayClient>>()); + s_informaticsGatewayClient.ConfigureServiceUris(new Uri(Configurations.Instance.InformaticsGatewayOptions.ApiEndpoint)); + + var serviceLocator = scope.ServiceProvider.GetRequiredService<IMonaiServiceLocator>(); + s_informaticsGatewayHost.Start(); + + var stopwatch = new Stopwatch(); + stopwatch.Start(); + do + { + var statuses = serviceLocator.GetServiceStatus(); + if (statuses.Values.All(p => p == Api.Rest.ServiceStatus.Running)) + { + break; + } + + if (stopwatch.Elapsed > TimeSpan.FromSeconds(30)) + { + throw new ApplicationException("Timeout waiting for all services to be ready."); + } + } while (true); + } + + private static void SetupRabbitMq(ISpecFlowOutputHelper outputHelper, IServiceScope scope) + { + RabbitConnectionFactory.DeleteAllQueues(s_options.Value); + + s_rabbitMqConnectionFactory = new RabbitMQConnectionFactory( + scope.ServiceProvider.GetRequiredService<ILogger<RabbitMQConnectionFactory>>()); + + s_rabbitMqPublisher = new RabbitMQMessagePublisherService( + Options.Create(s_options.Value.Messaging), + scope.ServiceProvider.GetRequiredService<ILogger<RabbitMQMessagePublisherService>>(), + s_rabbitMqConnectionFactory); + + var rabbitMqSubscriber_WorkflowRequest = new RabbitMQMessageSubscriberService( + Options.Create(s_options.Value.Messaging), + scope.ServiceProvider.GetRequiredService<ILogger<RabbitMQMessageSubscriberService>>(), + s_rabbitMqConnectionFactory); + + s_rabbitMqConsumer_WorkflowRequest = new RabbitMqConsumer(rabbitMqSubscriber_WorkflowRequest, s_options.Value.Messaging.Topics.WorkflowRequest, outputHelper); + + var rabbitMqSubscriber_ExportComplete = new RabbitMQMessageSubscriberService( + Options.Create(s_options.Value.Messaging), + scope.ServiceProvider.GetRequiredService<ILogger<RabbitMQMessageSubscriberService>>(), + s_rabbitMqConnectionFactory); + + s_rabbitMqConsumer_ExportComplete = new RabbitMqConsumer(rabbitMqSubscriber_ExportComplete, s_options.Value.Messaging.Topics.ExportComplete, outputHelper); + } + + private static EfDataProvider GetDatabase(IServiceProvider serviceProvider, ISpecFlowOutputHelper outputHelper) + { + var config = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false) + .Build(); + var connectionString = config.GetSection("ConnectionStrings:InformaticsGatewayDatabase").Value; + + var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); + builder.UseSqlite(connectionString); + var dbContext = new InformaticsGatewayContext(builder.Options); + return new EfDataProvider(outputHelper, Configurations.Instance, dbContext); + } + + [BeforeScenario(Order = 0)] + public void SetUp(ScenarioContext scenarioContext, ISpecFlowOutputHelper outputHelper) + { + _objectContainer.RegisterInstanceAs(Configurations.Instance); + _objectContainer.RegisterInstanceAs<IDatabaseDataProvider>(s_database, "Database"); + _objectContainer.RegisterInstanceAs(s_options.Value, "InformaticsGatewayConfiguration"); + _objectContainer.RegisterInstanceAs(s_dicomServer, "DicomScp"); + _objectContainer.RegisterInstanceAs(s_rabbitMqPublisher, "MessagingPublisher"); + _objectContainer.RegisterInstanceAs(s_rabbitMqConsumer_WorkflowRequest, "WorkflowRequestSubscriber"); + _objectContainer.RegisterInstanceAs(s_rabbitMqConsumer_ExportComplete, "ExportCompleteSubscriber"); + _objectContainer.RegisterInstanceAs(s_dataProvider, "DataProvider"); + _objectContainer.RegisterInstanceAs(s_assertions, "Assertions"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_storescu, "StoreSCU"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_echoscu, "EchoSCU"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_fhirSink, "FhirClient"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_dicomWebSink, "DicomWebClient"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_minioSink, "MinioClient"); + _objectContainer.RegisterInstanceAs<IDataClient>(s_hl7Sink, "HL7Client"); + _objectContainer.RegisterInstanceAs(s_informaticsGatewayClient, "InformaticsGatewayClient"); + } + + [AfterTestRun(Order = 1)] + public static void Shtudown() + { + s_informaticsGatewayHost.StopAsync().Wait(); + s_dicomServer.Dispose(); + + s_rabbitMqConsumer_WorkflowRequest.Dispose(); + s_rabbitMqConsumer_ExportComplete.Dispose(); + s_rabbitMqConnectionFactory.Dispose(); + } + + [AfterTestRun(Order = 0)] + [AfterScenario] + public static void ClearTestData(ISpecFlowOutputHelper outputHelper) + { + s_minioSink.CleanBucketAsync(); + RabbitConnectionFactory.PurgeAllQueues(s_options.Value.Messaging); + outputHelper.WriteLine($"=============================== END ==============================="); + } + + private static void SetupInformaticsGateway() + { + s_informaticsGatewayHost = Program.CreateHostBuilder(Array.Empty<string>()).Build(); + s_informaticsGatewayHost.MigrateDatabase(); + } + } +} diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 293799c5b..6c0816758 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.9" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.11" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> @@ -51,7 +51,6 @@ <ItemGroup> <Folder Include="Features\" /> - <Folder Include="Support\" /> </ItemGroup> <ItemGroup> @@ -64,16 +63,30 @@ <ProjectReference Include="..\..\src\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> <ProjectReference Include="..\..\src\Database\EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\..\src\Database\Monai.Deploy.InformaticsGateway.Database.csproj" /> - <ProjectReference Include="..\..\src\Database\Sqlite\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> <ProjectReference Include="..\..\src\DicomWebClient\Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj" /> + <ProjectReference Include="..\..\src\InformaticsGateway\Monai.Deploy.InformaticsGateway.csproj" /> </ItemGroup> + <ItemGroup> + <None Include="./nlog.config" CopyToOutputDirectory="Always" /> + </ItemGroup> + + <Target Name="CopyPluginsBuild" AfterTargets="Build"> + <ItemGroup> + <PluginDlls Include="$(OutDir)Monai.Deploy.Messaging.RabbitMQ.dll;$(OutDir)Monai.Deploy.Storage.MinIO.dll;$(OutDir)Minio.dll" /> + </ItemGroup> + <Copy SourceFiles="@(PluginDlls)" DestinationFolder="$(OutDir)\plug-ins\" SkipUnchangedFiles="true" /> + <Message Text="Files copied successfully to $(OutDir)\plug-ins\." Importance="high" /> + </Target> + <Target Name="CopyTestConfigurations" AfterTargets="AfterBuild"> <PropertyGroup> <STUDYJSON Condition=" '$(STUDYJSON)' == '' ">study.json</STUDYJSON> </PropertyGroup> <Message Importance="High" Text="Copying $(STUDYJSON) to $(OutDir)" /> + <Delete Files="$(OutDir)appsettings.Development.json" /> <Copy OverwriteReadOnlyFiles="true" SourceFiles="appsettings.json" DestinationFolder="$(OutDir)" /> + <Copy OverwriteReadOnlyFiles="true" SourceFiles="appsettings.ext.json" DestinationFolder="$(OutDir)" /> <Copy OverwriteReadOnlyFiles="true" SourceFiles="$(STUDYJSON)" DestinationFiles="$(OutDir)\study.json" /> </Target> </Project> diff --git a/tests/Integration.Test/README.md b/tests/Integration.Test/README.md index c3baea7de..0f1b7597f 100644 --- a/tests/Integration.Test/README.md +++ b/tests/Integration.Test/README.md @@ -27,6 +27,25 @@ The integration test suite is written using SpecFlow & Gherkin, a Behavior Drive ## Running Integration Test -To run the integration test, first, update the `TAG` value to one of the [available image versions](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/pkgs/container/monai-deploy-informatics-gateway) in the `.env.dev` file. Then, execute `./run.sh --dev` to start the test. +Before running the test suite, bring up all third-party dependencies using the docker compose file found in the `docker-compose` directory. -The script sets up the environment and starts docker-compose, pulling all required Docker images, including, RabbitMQ, MinIO, and Informatics Gateway. +The test suite may be executed within Visual Studio's Test Explorer or using `dotnet test`. + +```bash +dotnet test + +dotnet test --filter AcrApi # run only the specified test feature +``` + +### Linux + +On Linux, the `tests/Integration.Test/run.sh` script is available to bring up third-party dependencies & run the tests. + + +```bash +cd tests/Integration.Test +./run.sh + +./run.sh -f AcrApi # run only the specified test feature + +``` diff --git a/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs index 3d67aa6b6..56845731c 100644 --- a/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/AcrApiStepDefinitions.cs @@ -15,20 +15,12 @@ * limitations under the License. */ -using System.Globalization; -using System.Text; -using FellowOakDicom; +using BoDi; using FellowOakDicom.Network; -using FellowOakDicom.Serialization; -using Minio; -using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Client; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using Monai.Deploy.Messaging.Events; -using Monai.Deploy.Messaging.Messages; using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions @@ -37,207 +29,70 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class AcrApiStepDefinitions { - internal static readonly string KeyDicomFiles = "DICOM_FILES"; - internal static readonly string KeyInferenceRequest = "INFERENCE_REQUEST"; - internal static readonly string KeyDicomHashes = "DICOM_HASHES"; internal static readonly int WorkflowStudyCount = 1; - internal static readonly TimeSpan MessageWaitTimeSpan = TimeSpan.FromMinutes(1); - - private readonly ScenarioContext _scenarioContext; + internal static readonly TimeSpan MessageWaitTimeSpan = TimeSpan.FromSeconds(30); + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; + private readonly ObjectContainer _objectContainer; private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly DicomInstanceGenerator _dicomInstanceGenerator; - private readonly DicomScu _dicomScu; + private readonly Configurations _configurations; + private readonly RabbitMqConsumer _receivedMessages; + private readonly DataProvider _dataProvider; + private readonly Assertions _assertions; private readonly InformaticsGatewayClient _informaticsGatewayClient; - private readonly RabbitMqHooks _rabbitMqHooks; - public AcrApiStepDefinitions( - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - DicomInstanceGenerator dicomInstanceGenerator, - DicomScu dicomScu, - InformaticsGatewayClient informaticsGatewayClient, - RabbitMqHooks rabbitMqHooks) + public AcrApiStepDefinitions(ObjectContainer objectContainer, ISpecFlowOutputHelper outputHelper, Configurations configuration) { - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); + _objectContainer = objectContainer ?? throw new ArgumentNullException(nameof(objectContainer)); + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dicomInstanceGenerator = dicomInstanceGenerator ?? throw new ArgumentNullException(nameof(dicomInstanceGenerator)); - _dicomScu = dicomScu ?? throw new ArgumentNullException(nameof(dicomScu)); - _informaticsGatewayClient = informaticsGatewayClient ?? throw new ArgumentNullException(nameof(informaticsGatewayClient)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); - _informaticsGatewayClient.ConfigureServiceUris(new Uri(_configuration.InformaticsGatewayOptions.ApiEndpoint)); + _configurations = configuration ?? throw new ArgumentNullException(nameof(configuration)); + + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _assertions = objectContainer.Resolve<Assertions>("Assertions"); + _informaticsGatewayClient = objectContainer.Resolve<InformaticsGatewayClient>("InformaticsGatewayClient"); } [Given(@"a DICOM study on a remote DICOMweb service")] public async Task GivenADICOMStudySentToAETFromWithTimeoutOfSeconds() { var modality = "US"; - _outputHelper.WriteLine($"Generating {WorkflowStudyCount} {modality} study"); - _configuration.StudySpecs.ContainsKey(modality).Should().BeTrue(); - - var studySpec = _configuration.StudySpecs[modality]; - var patientId = DateTime.Now.ToString("yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); - var fileSpecs = _dicomInstanceGenerator.Generate(patientId, WorkflowStudyCount, modality, studySpec); - _scenarioContext[KeyDicomFiles] = fileSpecs; - _rabbitMqHooks.SetupMessageHandle(WorkflowStudyCount); - _outputHelper.WriteLine($"File specs: {fileSpecs.StudyCount}, {fileSpecs.SeriesPerStudyCount}, {fileSpecs.InstancePerSeries}, {fileSpecs.FileCount}"); - var result = await _dicomScu.CStore(_configuration.OrthancOptions.Host, _configuration.OrthancOptions.DimsePort, "TEST-RUNNER", "ORTHANC", fileSpecs.Files, TimeSpan.FromSeconds(300)); - result.Should().Be(DicomStatus.Success); - - // Remove after sent to reduce memory usage - var dicomFileSize = new Dictionary<string, string>(); - foreach (var dicomFile in fileSpecs.Files) - { - var key = dicomFile.GenerateFileName(); - dicomFileSize[key] = dicomFile.CalculateHash(); - } + _dataProvider.GenerateDicomData(modality, WorkflowStudyCount); + _receivedMessages.SetupMessageHandle(WorkflowStudyCount); - _scenarioContext[KeyDicomHashes] = dicomFileSize; + var storeScu = _objectContainer.Resolve<IDataClient>("StoreSCU"); + await storeScu.SendAsync(_dataProvider, "TEST-RUNNER", _configurations.OrthancOptions.Host, _configurations.OrthancOptions.DimsePort, "ORTHANC", TimeSpan.FromSeconds(300)); + _dataProvider.DimseRsponse.Should().Be(DicomStatus.Success); } [Given(@"an ACR API request to query & retrieve by (.*)")] public void GivenAnACRAPIRequestToQueryRetrieveByStudy(string requestType) { - var fileSpecs = _scenarioContext[KeyDicomFiles] as DicomInstanceGenerator.StudyGenerationSpecs; - - var inferenceRequest = new InferenceRequest(); - inferenceRequest.TransactionId = Guid.NewGuid().ToString(); - inferenceRequest.InputMetadata = new InferenceRequestMetadata(); - inferenceRequest.InputMetadata.Details = new InferenceRequestDetails(); - switch (requestType) - { - case "Study": - inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.DicomUid; - inferenceRequest.InputMetadata.Details.Studies = new List<RequestedStudy>(); - inferenceRequest.InputMetadata.Details.Studies.Add(new RequestedStudy - { - StudyInstanceUid = fileSpecs.StudyInstanceUids[0], - }); - break; - - case "Patient": - inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.DicomPatientId; - inferenceRequest.InputMetadata.Details.PatientId = fileSpecs.Files[0].Dataset.GetSingleValue<string>(DicomTag.PatientID); - break; - - case "AccessionNumber": - inferenceRequest.InputMetadata.Details.Type = InferenceRequestType.AccessionNumber; - inferenceRequest.InputMetadata.Details.AccessionNumber = new List<string>() { fileSpecs.Files[0].Dataset.GetSingleValue<string>(DicomTag.AccessionNumber) }; - break; - - default: - throw new ArgumentException($"invalid ACR request type specified in feature file: {requestType}"); - } - inferenceRequest.InputResources = new List<RequestInputDataResource> - { - new RequestInputDataResource - { - Interface = InputInterfaceType.Algorithm, - ConnectionDetails = new InputConnectionDetails - { - Name = "DICOM-RUNNER-TEST", - Id = Guid.NewGuid().ToString(), - } - }, - new RequestInputDataResource - { - Interface = InputInterfaceType.DicomWeb, - ConnectionDetails = new InputConnectionDetails - { - Uri = _configuration.OrthancOptions.DicomWebRootInternal, - AuthId = _configuration.OrthancOptions.GetBase64EncodedAuthHeader(), - AuthType = ConnectionAuthType.Basic - } - } - }; - - if (!inferenceRequest.IsValid(out var details)) - { - _outputHelper.WriteLine($"Validation error: {details}."); - throw new Exception(details); - } - _scenarioContext[KeyInferenceRequest] = inferenceRequest; + _dataProvider.GenerateAcrRequest(requestType); + _dataProvider.ReplaceGeneratedDicomDataWithHashes(); } [When(@"the ACR API request is sent")] public async Task WhenTheACRAPIRequestIsSentTo() { _outputHelper.WriteLine($"Sending inference request..."); - await _informaticsGatewayClient.Inference.NewInferenceRequest(_scenarioContext[KeyInferenceRequest] as InferenceRequest, CancellationToken.None); + await _informaticsGatewayClient.Inference.NewInferenceRequest(_dataProvider.AcrRequest, CancellationToken.None); } [Then(@"a workflow requests sent to the message broker")] public void ThenAWorkflowRequestsSentToTheMessageBroker() { - var inferenceRequest = _scenarioContext[KeyInferenceRequest] as InferenceRequest; - _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - var fileSpecs = _scenarioContext[KeyDicomFiles] as DicomInstanceGenerator.StudyGenerationSpecs; - - messages.Should().NotBeNullOrEmpty().And.HaveCount(WorkflowStudyCount); - foreach (var message in messages) - { - message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); - var request = message.ConvertTo<WorkflowRequestEvent>(); - request.Should().NotBeNull(); - request.FileCount.Should().Be(fileSpecs.FileCount); - request.Workflows.Should().Equal(inferenceRequest.Application.Id); - } + _receivedMessages.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); + _assertions.ShouldHaveCorrectNumberOfWorkflowRequestMessagesAndAcrRequest(_dataProvider, _receivedMessages.Messages, WorkflowStudyCount); } [Then(@"a study is uploaded to the storage service")] public async Task ThenAStudyIsUploadedToTheStorageService() { - var minioClient = new MinioClient() - .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) - .Build(); - - var dicomSizes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; - _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - messages.Should().NotBeNullOrEmpty(); - - foreach (var message in messages) - { - var request = message.ConvertTo<WorkflowRequestEvent>(); - foreach (var file in request.Payload) - { - var dicomValidationKey = string.Empty; - - var getObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Path}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - memoryStream.Position = 0; - var dicomFile = DicomFile.Open(memoryStream); - dicomValidationKey = dicomFile.GenerateFileName(); - dicomSizes.Should().ContainKey(dicomValidationKey).WhoseValue.Should().Be(dicomFile.CalculateHash()); - }); - await minioClient.GetObjectAsync(getObjectArgs); - - var getMetadataObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Metadata}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - var json = Encoding.UTF8.GetString(memoryStream.ToArray()); - - var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); - var key = dicomFileFromJson.GenerateFileName(); - key.Should().Be(dicomValidationKey); - }); - await minioClient.GetObjectAsync(getMetadataObjectArgs); - } - } + _receivedMessages.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); + _receivedMessages.Messages.Should().NotBeNullOrEmpty(); + await _assertions.ShouldHaveUploadedDicomDataToMinio(_receivedMessages.Messages, _dataProvider.DicomSpecs.FileHashes); } } } diff --git a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs index b2fa63edf..2084380e7 100644 --- a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs @@ -14,17 +14,16 @@ * limitations under the License. */ -using System.Globalization; using System.Net; using Ardalis.GuardClauses; +using BoDi; using FellowOakDicom.Network; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Client; using Monai.Deploy.InformaticsGateway.Client.Common; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -33,31 +32,24 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions public class DicomDimseScpServicesStepDefinitions { internal static readonly string[] DummyWorkflows = new string[] { "WorkflowA", "WorkflowB" }; - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; + private readonly ObjectContainer _objectContainer; private readonly Configurations _configuration; - private readonly DicomInstanceGenerator _dicomInstanceGenerator; - private readonly RabbitMqHooks _rabbitMqHooks; - private readonly DicomScu _dicomScu; private readonly InformaticsGatewayClient _informaticsGatewayClient; + private readonly RabbitMqConsumer _receivedMessages; + private readonly DataProvider _dataProvider; public DicomDimseScpServicesStepDefinitions( - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - DicomInstanceGenerator dicomInstanceGenerator, - DicomScu dicomScu, - InformaticsGatewayClient informaticsGatewayClient, - RabbitMqHooks rabbitMqHooks) + ObjectContainer objectContainer, + Configurations configuration) { - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _objectContainer = objectContainer ?? throw new ArgumentNullException(nameof(objectContainer)); + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dicomInstanceGenerator = dicomInstanceGenerator ?? throw new ArgumentNullException(nameof(dicomInstanceGenerator)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); - _dicomScu = dicomScu ?? throw new ArgumentNullException(nameof(dicomScu)); - _informaticsGatewayClient = informaticsGatewayClient ?? throw new ArgumentNullException(nameof(informaticsGatewayClient)); - _informaticsGatewayClient.ConfigureServiceUris(new Uri(_configuration.InformaticsGatewayOptions.ApiEndpoint)); + + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _informaticsGatewayClient = objectContainer.Resolve<InformaticsGatewayClient>("InformaticsGatewayClient"); } [Given(@"a calling AE Title '([^']*)'")] @@ -71,7 +63,7 @@ await _informaticsGatewayClient.DicomSources.Create(new SourceApplicationEntity { Name = callingAeTitle, AeTitle = callingAeTitle, - HostIp = _configuration.TestRunnerOptions.HostIp, + HostIp = _configuration.InformaticsGatewayOptions.Host, }, CancellationToken.None); } catch (ProblemException ex) @@ -95,15 +87,8 @@ public void GivenXStudiesWithYSeriesPerStudy(int studyCount, string modality, in Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); Guard.Against.NegativeOrZero(seriesPerStudy, nameof(seriesPerStudy)); - _outputHelper.WriteLine($"Generating {studyCount} {modality} study"); - _configuration.StudySpecs.ContainsKey(modality).Should().BeTrue(); - - var studySpec = _configuration.StudySpecs[modality]; - var patientId = DateTime.Now.ToString("yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); - var fileSpecs = _dicomInstanceGenerator.Generate(patientId, studyCount, seriesPerStudy, modality, studySpec); - _scenarioContext[SharedDefinitions.KeyDicomFiles] = fileSpecs; - _rabbitMqHooks.SetupMessageHandle(fileSpecs.NumberOfExpectedRequests(_scenarioContext[SharedDefinitions.KeyDataGrouping].ToString())); - _outputHelper.WriteLine($"File specs: {fileSpecs.StudyCount}, {fileSpecs.SeriesPerStudyCount}, {fileSpecs.InstancePerSeries}, {fileSpecs.FileCount}"); + _dataProvider.GenerateDicomData(modality, studyCount, seriesPerStudy); + _receivedMessages.SetupMessageHandle(_dataProvider.DicomSpecs.NumberOfExpectedRequests(_dataProvider.StudyGrouping)); } [Given(@"a called AE Title named '([^']*)' that groups by '([^']*)' for (.*) seconds")] @@ -113,10 +98,10 @@ public async Task GivenACalledAETitleNamedThatGroupsByForSeconds(string calledAe Guard.Against.NullOrWhiteSpace(grouping, nameof(grouping)); Guard.Against.NegativeOrZero(groupingTimeout, nameof(groupingTimeout)); - _scenarioContext[SharedDefinitions.KeyDataGrouping] = grouping; + _dataProvider.StudyGrouping = grouping; try { - _scenarioContext[SharedDefinitions.KeyCalledAet] = await _informaticsGatewayClient.MonaiScpAeTitle.Create(new MonaiApplicationEntity + await _informaticsGatewayClient.MonaiScpAeTitle.Create(new MonaiApplicationEntity { AeTitle = calledAeTitle, Name = calledAeTitle, @@ -124,14 +109,14 @@ public async Task GivenACalledAETitleNamedThatGroupsByForSeconds(string calledAe Timeout = groupingTimeout, Workflows = new List<string>(DummyWorkflows) }, CancellationToken.None); - _scenarioContext[SharedDefinitions.KeyWorkflows] = DummyWorkflows; + _dataProvider.Workflows = DummyWorkflows; } catch (ProblemException ex) { if (ex.ProblemDetails.Status == (int)HttpStatusCode.Conflict && ex.ProblemDetails.Detail.Contains("already exists")) { - _scenarioContext[SharedDefinitions.KeyCalledAet] = await _informaticsGatewayClient.MonaiScpAeTitle.GetAeTitle(calledAeTitle, CancellationToken.None); + await _informaticsGatewayClient.MonaiScpAeTitle.GetAeTitle(calledAeTitle, CancellationToken.None); } else { @@ -147,10 +132,12 @@ public async Task WhenAC_ECHO_RQIsSentToFromWithTimeoutOfSeconds(string calledAe Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); Guard.Against.NegativeOrZero(clientTimeoutSeconds, nameof(clientTimeoutSeconds)); - _scenarioContext[SharedDefinitions.KeyDimseResponse] = await _dicomScu.CEcho( - _configuration.InformaticsGatewayOptions.Host, - _configuration.InformaticsGatewayOptions.DimsePort, + var echoScu = _objectContainer.Resolve<IDataClient>("EchoSCU"); + await echoScu.SendAsync( + _dataProvider, callingAeTitle, + _configuration.InformaticsGatewayOptions.Host, + _informaticsGatewayConfiguration.Dicom.Scp.Port, calledAeTitle, TimeSpan.FromSeconds(clientTimeoutSeconds)); } @@ -158,7 +145,7 @@ public async Task WhenAC_ECHO_RQIsSentToFromWithTimeoutOfSeconds(string calledAe [Then(@"a successful response should be received")] public void ThenASuccessfulResponseShouldBeReceived() { - (_scenarioContext[SharedDefinitions.KeyDimseResponse] as DicomStatus).Should().Be(DicomStatus.Success); + _dataProvider.DimseRsponse.Should().Be(DicomStatus.Success); } [When(@"a C-STORE-RQ is sent to '([^']*)' with AET '([^']*)' from '([^']*)' with timeout of (.*) seconds")] @@ -169,29 +156,22 @@ public async Task WhenAC_STORE_RQIsSentToWithAETFromWithTimeoutOfSeconds(string Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); Guard.Against.NegativeOrZero(clientTimeoutSeconds, nameof(clientTimeoutSeconds)); + var storeScu = _objectContainer.Resolve<IDataClient>("StoreSCU"); + var host = _configuration.InformaticsGatewayOptions.Host; - var port = _configuration.InformaticsGatewayOptions.DimsePort; + var port = _informaticsGatewayConfiguration.Dicom.Scp.Port; - var dicomFileSpec = _scenarioContext[SharedDefinitions.KeyDicomFiles] as DicomInstanceGenerator.StudyGenerationSpecs; + var dicomFileSpec = _dataProvider.DicomSpecs; dicomFileSpec.Should().NotBeNull(); - _scenarioContext[SharedDefinitions.KeyDimseResponse] = await _dicomScu.CStore( + await storeScu.SendAsync( + _dataProvider, + callingAeTitle, host, port, - callingAeTitle, calledAeTitle, - dicomFileSpec.Files, TimeSpan.FromSeconds(clientTimeoutSeconds)); - // Remove after sent to reduce memory usage - var dicomFileSize = new Dictionary<string, string>(); - foreach (var dicomFile in dicomFileSpec.Files) - { - var key = dicomFile.GenerateFileName(); - dicomFileSize[key] = dicomFile.CalculateHash(); - } - - _scenarioContext[SharedDefinitions.KeyDicomHashes] = dicomFileSize; - dicomFileSpec.Files.Clear(); + _dataProvider.ReplaceGeneratedDicomDataWithHashes(); } } } diff --git a/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs index 519cbd6d3..e12ad25d9 100644 --- a/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs @@ -14,14 +14,12 @@ * limitations under the License. */ -using System.Net; using Ardalis.GuardClauses; +using BoDi; +using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; -using Monai.Deploy.InformaticsGateway.DicomWeb.Client.API; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -29,24 +27,31 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class DicomWebStowServiceStepDefinitions { - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly DicomInstanceGenerator _dicomInstanceGenerator; - private readonly RabbitMqHooks _rabbitMqHooks; + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; + private readonly Configurations _configurations; + private readonly RabbitMqConsumer _receivedMessages; + private readonly DataProvider _dataProvider; + private readonly IDataClient _dataSink; - public DicomWebStowServiceStepDefinitions( - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - DicomInstanceGenerator dicomInstanceGenerator, - RabbitMqHooks rabbitMqHooks) + public DicomWebStowServiceStepDefinitions(ObjectContainer objectContainer, Configurations configuration) { - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dicomInstanceGenerator = dicomInstanceGenerator ?? throw new ArgumentNullException(nameof(dicomInstanceGenerator)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); + _configurations = configuration ?? throw new ArgumentNullException(nameof(configuration)); + + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _dataSink = objectContainer.Resolve<IDataClient>("DicomWebClient"); + } + + [Given(@"(.*) (.*) studies with '(.*)' grouping")] + public void GivenNStudies(int studyCount, string modality, string grouping) + { + Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); + Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); + + _dataProvider.GenerateDicomData(modality, studyCount); + _dataProvider.StudyGrouping = grouping; + _receivedMessages.SetupMessageHandle(_dataProvider.DicomSpecs.NumberOfExpectedRequests(grouping)); } [Given(@"a workflow named '(.*)'")] @@ -54,7 +59,7 @@ public void GivenNStudies(string workflowName) { Guard.Against.NullOrWhiteSpace(workflowName, nameof(workflowName)); - _scenarioContext[SharedDefinitions.KeyWorkflows] = new string[] { workflowName }; + _dataProvider.Workflows = new string[] { workflowName }; } [When(@"the studies are uploaded to the DICOMWeb STOW-RS service at '([^']*)'")] @@ -62,10 +67,11 @@ public async Task WhenStudiesAreUploadedToTheDicomWebStowRSServiceWithoutStudyIn { Guard.Against.NullOrWhiteSpace(endpoint, nameof(endpoint)); - await UploadStudies(endpoint, async (DicomWebClient dicomWebClient, DicomInstanceGenerator.StudyGenerationSpecs specs) => + await _dataSink.SendAsync(_dataProvider, $"{_configurations.InformaticsGatewayOptions.ApiEndpoint}{endpoint}", _dataProvider.Workflows, async (DicomWebClient dicomWebClient, DicomDataSpecs specs) => { return await dicomWebClient.Stow.Store(specs.Files); }); + _dataProvider.ReplaceGeneratedDicomDataWithHashes(); } [When(@"the studies are uploaded to the DICOMWeb STOW-RS service at '([^']*)' with StudyInstanceUid")] @@ -73,45 +79,12 @@ public async Task WhenStudiesAreUploadedToTheDicomWebStowRSServiceWithStudyInsta { Guard.Against.NullOrWhiteSpace(endpoint, nameof(endpoint)); - await UploadStudies(endpoint, async (DicomWebClient dicomWebClient, DicomInstanceGenerator.StudyGenerationSpecs specs) => + await _dataSink.SendAsync(_dataProvider, $"{_configurations.InformaticsGatewayOptions.ApiEndpoint}{endpoint}", _dataProvider.Workflows, async (DicomWebClient dicomWebClient, DicomDataSpecs specs) => { // Note: the MIG DICOMweb client ignores instances without matching StudyInstanceUID. return await dicomWebClient.Stow.Store(specs.StudyInstanceUids.First(), specs.Files); }); - } - - private async Task UploadStudies(string endpoint, Func<DicomWebClient, DicomInstanceGenerator.StudyGenerationSpecs, Task<DicomWebResponse<string>>> stowFunc) - { - var dicomFileSpec = _scenarioContext[SharedDefinitions.KeyDicomFiles] as DicomInstanceGenerator.StudyGenerationSpecs; - dicomFileSpec.Should().NotBeNull(); - dicomFileSpec.StudyInstanceUids.Should().NotBeNullOrEmpty(); - - _outputHelper.WriteLine($"POSTing studies to {endpoint} with {dicomFileSpec.Files.Count} files..."); - var httpClient = new HttpClient(); - var dicomWebClient = new DicomWebClient(httpClient, null); - dicomWebClient.ConfigureServiceUris(new Uri($"{_configuration.InformaticsGatewayOptions.ApiEndpoint}{endpoint}")); - - if (_scenarioContext.ContainsKey(SharedDefinitions.KeyWorkflows)) - { - var workflows = _scenarioContext[SharedDefinitions.KeyWorkflows] as string[]; - workflows.Should().NotBeNullOrEmpty(); - dicomWebClient.ConfigureServicePrefix(DicomWebServiceType.Stow, $"{workflows.First()}/"); - _outputHelper.WriteLine($"configured STOW service prefix = {workflows.First()}..."); - } - - var results = await stowFunc(dicomWebClient, dicomFileSpec); - results.StatusCode.Should().Be(HttpStatusCode.OK); - - // Remove after sent to reduce memory usage - var dicomFileSize = new Dictionary<string, string>(); - foreach (var dicomFile in dicomFileSpec.Files) - { - var key = dicomFile.GenerateFileName(); - dicomFileSize[key] = dicomFile.CalculateHash(); - } - - _scenarioContext[SharedDefinitions.KeyDicomHashes] = dicomFileSize; - dicomFileSpec.Files.Clear(); + _dataProvider.ReplaceGeneratedDicomDataWithHashes(); } } } diff --git a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs index 1c1c42784..df320ff20 100644 --- a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs @@ -14,11 +14,10 @@ * limitations under the License. */ -using System.Globalization; using System.Net; using System.Net.Http.Headers; using Ardalis.GuardClauses; -using Minio; +using BoDi; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Client; using Monai.Deploy.InformaticsGateway.Client.Common; @@ -29,7 +28,7 @@ using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; using Monai.Deploy.Messaging.Events; using Monai.Deploy.Messaging.Messages; -using TechTalk.SpecFlow.Infrastructure; +using Monai.Deploy.Messaging.RabbitMQ; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -37,38 +36,35 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class DicomDimseScuServicesStepDefinitions { - internal static readonly TimeSpan DicomScpWaitTimeSpan = TimeSpan.FromMinutes(2); + internal static readonly TimeSpan DicomScpWaitTimeSpan = TimeSpan.FromMinutes(7); internal static readonly TimeSpan DicomWebWaitTimeSpan = TimeSpan.FromMinutes(2); - internal static readonly string KeyPatientId = "PATIENT_ID"; - internal static readonly string KeyDicomHashes = "DICOM_FILES"; - internal static readonly string KeyDestination = "EXPORT_DESTINATION"; - internal static readonly string KeyExportRequestMessage = "EXPORT_REQUEST-MESSAGE"; - internal static readonly string KeyFileSpecs = "FILE_SPECS"; - private readonly FeatureContext _featureContext; - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; private readonly Configurations _configuration; - private readonly DicomInstanceGenerator _dicomInstanceGenerator; + private readonly DicomScp _dicomServer; private readonly InformaticsGatewayClient _informaticsGatewayClient; - private readonly RabbitMqHooks _rabbitMqHooks; - - public DicomDimseScuServicesStepDefinitions( - FeatureContext featureContext, - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - DicomInstanceGenerator dicomInstanceGenerator, - InformaticsGatewayClient informaticsGatewayClient, - RabbitMqHooks rabbitMqHooks) + private readonly IDataClient _dataSink; + private readonly RabbitMQMessagePublisherService _messagePublisher; + private readonly RabbitMqConsumer _receivedMessages; + private readonly IDatabaseDataProvider _databaseDataProvider; + private readonly DataProvider _dataProvider; + private string _dicomDestination; + + public DicomDimseScuServicesStepDefinitions(ObjectContainer objectContainer, Configurations configuration) { - _featureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext)); - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + if (objectContainer is null) + { + throw new ArgumentNullException(nameof(objectContainer)); + } + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dicomInstanceGenerator = dicomInstanceGenerator ?? throw new ArgumentNullException(nameof(dicomInstanceGenerator)); - _informaticsGatewayClient = informaticsGatewayClient ?? throw new ArgumentNullException(nameof(informaticsGatewayClient)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); - _informaticsGatewayClient.ConfigureServiceUris(new Uri(_configuration.InformaticsGatewayOptions.ApiEndpoint)); + + _dicomServer = objectContainer.Resolve<DicomScp>("DicomScp"); + _messagePublisher = objectContainer.Resolve<RabbitMQMessagePublisherService>("MessagingPublisher"); + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("ExportCompleteSubscriber"); + _databaseDataProvider = objectContainer.Resolve<IDatabaseDataProvider>("Database"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _informaticsGatewayClient = objectContainer.Resolve<InformaticsGatewayClient>("InformaticsGatewayClient"); + _dataSink = objectContainer.Resolve<IDataClient>("MinioClient"); } [Given(@"a DICOM destination registered with Informatics Gateway")] @@ -79,24 +75,30 @@ public async Task GivenADicomScpWithAET() { destination = await _informaticsGatewayClient.DicomDestinations.Create(new DestinationApplicationEntity { - Name = ScpHooks.FeatureScpAeTitle, - AeTitle = ScpHooks.FeatureScpAeTitle, - HostIp = _configuration.TestRunnerOptions.HostIp, - Port = ScpHooks.FeatureScpPort + Name = _dicomServer.FeatureScpAeTitle, + AeTitle = _dicomServer.FeatureScpAeTitle, + HostIp = _configuration.InformaticsGatewayOptions.Host, + Port = _dicomServer.FeatureScpPort }, CancellationToken.None); } catch (ProblemException ex) { if (ex.ProblemDetails.Status == (int)HttpStatusCode.Conflict && ex.ProblemDetails.Detail.Contains("already exists")) { - destination = await _informaticsGatewayClient.DicomDestinations.GetAeTitle(ScpHooks.FeatureScpAeTitle, CancellationToken.None); + destination = await _informaticsGatewayClient.DicomDestinations.GetAeTitle(_dicomServer.FeatureScpAeTitle, CancellationToken.None); } else { throw; } } - _scenarioContext[KeyDestination] = destination.Name; + _dicomDestination = destination.Name; + } + + [Given(@"an ACR request in the database")] + public async Task GivenDICOMInstances() + { + _dicomDestination = await _databaseDataProvider.InjectAcrRequest().ConfigureAwait(false); } [Given(@"(.*) (.*) studies for export")] @@ -105,41 +107,9 @@ public async Task GivenDICOMInstances(int studyCount, string modality) Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); - _outputHelper.WriteLine($"Generating {studyCount} {modality} study"); - _configuration.StudySpecs.ContainsKey(modality).Should().BeTrue(); - - var studySpec = _configuration.StudySpecs[modality]; - var patientId = DateTime.Now.ToString("yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); - var fileSpecs = _dicomInstanceGenerator.Generate(patientId, studyCount, modality, studySpec); - - var hashes = new Dictionary<string, string>(); - - _outputHelper.WriteLine($"File specs: {fileSpecs.StudyCount} studies, {fileSpecs.SeriesPerStudyCount} series/study, {fileSpecs.InstancePerSeries} instances/series, {fileSpecs.FileCount} files total"); - - var minioClient = new MinioClient() - .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) - .Build(); - - _outputHelper.WriteLine($"Uploading {fileSpecs.FileCount} files to MinIO..."); - foreach (var file in fileSpecs.Files) - { - var filename = file.GenerateFileName(); - hashes.Add(filename, file.CalculateHash()); - - var stream = new MemoryStream(); - await file.SaveAsync(stream); - stream.Position = 0; - var puObjectArgs = new PutObjectArgs(); - puObjectArgs.WithBucket(_configuration.TestRunnerOptions.Bucket) - .WithObject(filename) - .WithStreamData(stream) - .WithObjectSize(stream.Length); - await minioClient.PutObjectAsync(puObjectArgs); - } - _scenarioContext[KeyDicomHashes] = hashes; - _scenarioContext[KeyPatientId] = patientId; - _scenarioContext[KeyFileSpecs] = fileSpecs; + _dataProvider.GenerateDicomData(modality, studyCount); + await _dataSink.SendAsync(_dataProvider); + _dataProvider.ReplaceGeneratedDicomDataWithHashes(); } [When(@"a export request is sent for '([^']*)'")] @@ -147,16 +117,12 @@ public void WhenAExportRequestIsReceivedDesignatedFor(string routingKey) { Guard.Against.NullOrWhiteSpace(routingKey, nameof(routingKey)); - var dicomHashes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; - - var destination = _scenarioContext[KeyDestination].ToString(); - var exportRequestEvent = new ExportRequestEvent { CorrelationId = Guid.NewGuid().ToString(), - Destinations = new[] { destination }, + Destinations = new[] { _dicomDestination }, ExportTaskId = Guid.NewGuid().ToString(), - Files = dicomHashes.Keys.ToList(), + Files = _dataProvider.DicomSpecs.FileHashes.Keys.ToList(), MessageId = Guid.NewGuid().ToString(), WorkflowInstanceId = Guid.NewGuid().ToString(), }; @@ -167,30 +133,26 @@ public void WhenAExportRequestIsReceivedDesignatedFor(string routingKey) exportRequestEvent.CorrelationId, string.Empty); - _rabbitMqHooks.SetupMessageHandle(1); - _rabbitMqHooks.Publish(routingKey, message.ToMessage()); - _scenarioContext[KeyExportRequestMessage] = exportRequestEvent; + _receivedMessages.SetupMessageHandle(1); + _messagePublisher.Publish(routingKey, message.ToMessage()); } [Then(@"Informatics Gateway exports the studies to the DICOM SCP")] public async Task ThenExportTheInstancesToTheDicomScp() { - _rabbitMqHooks.MessageWaitHandle.Wait(DicomScpWaitTimeSpan).Should().BeTrue(); - var data = _featureContext[ScpHooks.KeyServerData] as ServerData; - var dicomHashes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; + _receivedMessages.MessageWaitHandle.Wait(DicomScpWaitTimeSpan).Should().BeTrue(); - foreach (var key in dicomHashes.Keys) + foreach (var key in _dataProvider.DicomSpecs.FileHashes.Keys) { - (await Extensions.WaitUntil(() => data.Instances.ContainsKey(key), DicomScpWaitTimeSpan)).Should().BeTrue("{0} should be received", key); - data.Instances.Should().ContainKey(key).WhoseValue.Equals(dicomHashes[key]); + (await Extensions.WaitUntil(() => _dicomServer.Instances.ContainsKey(key), DicomScpWaitTimeSpan)).Should().BeTrue("{0} should be received", key); + _dicomServer.Instances.Should().ContainKey(key).WhoseValue.Equals(_dataProvider.DicomSpecs.FileHashes[key]); } } [Then(@"Informatics Gateway exports the studies to Orthanc")] public async Task ThenExportTheInstancesToOrthanc() { - var dicomHashes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; - var fileSpecs = _scenarioContext[KeyFileSpecs] as DicomInstanceGenerator.StudyGenerationSpecs; + _receivedMessages.MessageWaitHandle.Wait(DicomScpWaitTimeSpan).Should().BeTrue(); var httpClient = new HttpClient(); var dicomWebClient = new DicomWebClient(httpClient, null); dicomWebClient.ConfigureServiceUris(new Uri(_configuration.OrthancOptions.DicomWebRoot)); @@ -201,7 +163,7 @@ public async Task ThenExportTheInstancesToOrthanc() try { var instanceFound = 0; - await foreach (var dicomFile in dicomWebClient.Wado.Retrieve(fileSpecs.StudyInstanceUids[0])) + await foreach (var dicomFile in dicomWebClient.Wado.Retrieve(_dataProvider.DicomSpecs.StudyInstanceUids[0])) { var key = dicomFile.GenerateFileName(); var hash = dicomFile.CalculateHash(); @@ -216,10 +178,10 @@ public async Task ThenExportTheInstancesToOrthanc() return actualHashes; }, (Dictionary<string, string> expected) => { - return expected.Count == dicomHashes.Count; + return expected.Count == _dataProvider.DicomSpecs.FileHashes.Count; }, DicomWebWaitTimeSpan, 1000); - result.Should().NotBeNull().And.HaveCount(dicomHashes.Count); + result.Should().NotBeNull().And.HaveCount(_dataProvider.DicomSpecs.FileHashes.Count); } } } diff --git a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs index c5733e3ba..39c7a91d2 100644 --- a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs @@ -14,19 +14,11 @@ * limitations under the License. */ -using System.Globalization; -using System.Text; -using System.Text.Json; -using System.Text.Json.Nodes; -using System.Xml; using Ardalis.GuardClauses; -using Minio; +using BoDi; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using Monai.Deploy.Messaging.Events; -using Monai.Deploy.Messaging.Messages; -using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -38,31 +30,24 @@ internal enum FileFormat { Xml, Json }; internal static readonly TimeSpan WaitTimeSpan = TimeSpan.FromMinutes(2); - private readonly FeatureContext _featureContext; - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly RabbitMqHooks _rabbitMqHooks; - private readonly Dictionary<string, string> _input; - private readonly Dictionary<string, string> _output; - private FileFormat _fileFormat; - private string _mediaType; + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; + private readonly RabbitMqConsumer _receivedMessages; + private readonly DataProvider _dataProvider; + private readonly Assertions _assertions; + private readonly IDataClient _dataSink; - public FhirDefinitions( - FeatureContext featureContext, - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - RabbitMqHooks rabbitMqHooks) + public FhirDefinitions(ObjectContainer objectContainer) { - _featureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext)); - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); + if (objectContainer is null) + { + throw new ArgumentNullException(nameof(objectContainer)); + } - _input = new Dictionary<string, string>(); - _output = new Dictionary<string, string>(); + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _assertions = objectContainer.Resolve<Assertions>("Assertions"); + _dataSink = objectContainer.Resolve<IDataClient>("FhirClient"); } [Given(@"FHIR message (.*) in (.*)")] @@ -71,121 +56,27 @@ public async Task GivenHl7MessagesInVersionX(string version, string format) Guard.Against.NullOrWhiteSpace(version, nameof(version)); Guard.Against.NullOrWhiteSpace(format, nameof(format)); - var files = Directory.GetFiles($"data/fhir/{version}", $"*.{format.ToLowerInvariant()}"); - - _fileFormat = format == "XML" ? FileFormat.Xml : FileFormat.Json; - _mediaType = _fileFormat == FileFormat.Xml ? "application/fhir+xml" : "application/fhir+json"; - - foreach (var file in files) - { - _outputHelper.WriteLine($"Adding file {file}"); - _input[file] = await File.ReadAllTextAsync(file); - } - _rabbitMqHooks.SetupMessageHandle(files.Length); + await _dataProvider.GenerateFhirMessages(version, format); + _receivedMessages.SetupMessageHandle(_dataProvider.FhirSpecs.Files.Count); } [When(@"the FHIR messages are sent to Informatics Gateway")] public async Task WhenTheMessagesAreSentToInformaticsGateway() { - var httpClient = new HttpClient(); - httpClient.BaseAddress = new Uri($"{_configuration.InformaticsGatewayOptions.ApiEndpoint}/fhir/"); - httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(_mediaType)); - httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", _mediaType); - - foreach (var file in _input.Keys) - { - var path = Path.GetFileNameWithoutExtension(file); - _outputHelper.WriteLine($"Sending file {file} to /fhir/{path}..."); - var httpContent = new StringContent(_input[file], Encoding.UTF8, _mediaType); - var response = await httpClient.PostAsync(path, httpContent); - response.EnsureSuccessStatusCode(); - } + await _dataSink.SendAsync(_dataProvider); } [Then(@"workflow requests are sent to message broker")] public void ThenWorkflowRequestAreSentToMessageBroker() { - _rabbitMqHooks.MessageWaitHandle.Wait(WaitTimeSpan).Should().BeTrue(); + _receivedMessages.MessageWaitHandle.Wait(WaitTimeSpan).Should().BeTrue(); } [Then(@"FHIR resources are uploaded to storage service")] public async Task ThenFhirResourcesAreUploadedToStorageService() { - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - messages.Should().NotBeNullOrEmpty().And.HaveCount(_input.Count); - - var minioClient = new MinioClient() - .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) - .Build(); - - foreach (var message in messages) - { - message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); - var request = message.ConvertTo<WorkflowRequestEvent>(); - request.Should().NotBeNull(); - request.FileCount.Should().Be(1); - - foreach (var file in request.Payload) - { - var getObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Path}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - memoryStream.Position = 0; - var data = Encoding.UTF8.GetString(memoryStream.ToArray()); - data.Should().NotBeNullOrWhiteSpace(); - - var incomingFilename = Path.GetFileName(file.Path); - var storedFileKey = _input.Keys.FirstOrDefault(p => p.EndsWith(incomingFilename)); - storedFileKey.Should().NotBeNull(); - - _outputHelper.WriteLine($"Validating file {storedFileKey}..."); - if (incomingFilename.EndsWith(".json", true, CultureInfo.InvariantCulture)) - { - ValidateJson(_input[storedFileKey], data); - } - else - { - ValidateXml(_input[storedFileKey], data); - } - }); - await minioClient.GetObjectAsync(getObjectArgs); - } - } - } - - private void ValidateXml(string expected, string actual) - { - expected = FormatXml(expected); - expected.Should().Be(actual); - } - - private string FormatXml(string xml) - { - var xmlDocument = new XmlDocument(); - xmlDocument.LoadXml(xml); - var sb = new StringBuilder(); - using (var xmlWriter = XmlWriter.Create(sb, new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true })) - { - xmlDocument.Save(xmlWriter); - } - return sb.ToString(); - } - - private void ValidateJson(string expected, string actual) - { - expected = FormatJson(expected); - expected.Should().Be(actual); - } - - private string FormatJson(string expected) - { - var jsonDoc = JsonNode.Parse(expected); - return jsonDoc.ToJsonString(new JsonSerializerOptions { WriteIndented = true }); + _receivedMessages.Messages.Should().NotBeNullOrEmpty().And.HaveCount(_dataProvider.FhirSpecs.Files.Count); + await _assertions.ShouldHaveUploadedFhirDataToMinio(_receivedMessages.Messages, _dataProvider.FhirSpecs.Files); } } } diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index b2b68b1aa..c6fa0de60 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -14,16 +14,10 @@ * limitations under the License. */ -using System.Net.Sockets; -using System.Text; using Ardalis.GuardClauses; -using Minio; -using Monai.Deploy.InformaticsGateway.Configuration; +using BoDi; +using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using Monai.Deploy.Messaging.Events; -using Monai.Deploy.Messaging.Messages; -using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -32,203 +26,61 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions public class HealthLevel7Definitions { internal static readonly TimeSpan WaitTimeSpan = TimeSpan.FromMinutes(2); - private readonly FeatureContext _featureContext; - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly RabbitMqHooks _rabbitMqHooks; - private readonly Dictionary<string, HL7.Dotnetcore.Message> _input; - private readonly Dictionary<string, string> _output; + private readonly DataProvider _dataProvider; + private readonly RabbitMqConsumer _receivedMessages; + private readonly IDataClient _dataSink; + private readonly Assertions _assertions; - public HealthLevel7Definitions( - FeatureContext featureContext, - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - RabbitMqHooks rabbitMqHooks) + public HealthLevel7Definitions(ObjectContainer objectContainer) { - _featureContext = featureContext ?? throw new ArgumentNullException(nameof(featureContext)); - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); + if (objectContainer is null) + { + throw new ArgumentNullException(nameof(objectContainer)); + } - _input = new Dictionary<string, HL7.Dotnetcore.Message>(); - _output = new Dictionary<string, string>(); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _dataSink = objectContainer.Resolve<IDataClient>("HL7Client"); + _assertions = objectContainer.Resolve<Assertions>("Assertions"); } [Given(@"HL7 messages in version (.*)")] public async Task GivenHl7MessagesInVersionX(string version) { Guard.Against.NullOrWhiteSpace(version, nameof(version)); - - var files = Directory.GetFiles($"data/hl7/{version}"); - - foreach (var file in files) - { - var text = await File.ReadAllTextAsync(file); - var message = new HL7.Dotnetcore.Message(text); - message.ParseMessage(); - message.SetValue("MSH.10", file); - _input[file] = message; - } - _rabbitMqHooks.SetupMessageHandle(1); + await _dataProvider.GenerateHl7Messages(version); + _receivedMessages.SetupMessageHandle(1); } [When(@"the message are sent to Informatics Gateway")] public async Task WhenTheMessagesAreSentToInformaticsGateway() { - using var tcpClient = new TcpClient(); - await tcpClient.ConnectAsync(_configuration.InformaticsGatewayOptions.Host, _configuration.InformaticsGatewayOptions.Hl7Port); - var networkStream = tcpClient.GetStream(); - foreach (var file in _input.Keys) - { - _outputHelper.WriteLine($"Sending file {file}..."); - var data = _input[file].GetMLLP(); - await networkStream.WriteAsync(data, 0, data.Length); - var buffer = new byte[1048576]; - var responseData = string.Empty; - do - { - if (await networkStream.ReadAsync(buffer, 0, buffer.Length) == 0) - { - break; - } - - responseData = Encoding.UTF8.GetString(buffer.ToArray()); - - var startIndex = responseData.IndexOf((char)0x0B); - if (startIndex >= 0) - { - var endIndex = responseData.IndexOf((char)0x1C); - - if (endIndex > startIndex) - { - var messageStartIndex = startIndex + 1; - var messageEndIndex = endIndex + 1; - responseData = responseData.Substring(messageStartIndex, endIndex - messageStartIndex); - break; - } - } - } while (true); - _output[file] = responseData; - } - tcpClient.Close(); + await _dataSink.SendAsync(_dataProvider, false); } [When(@"the message are sent to Informatics Gateway in one batch")] public async Task WhenTheMessagesAreSentToInformaticsGatewayInOneBatch() { - var messages = new List<byte>(); - foreach (var file in _input.Keys) - { - _outputHelper.WriteLine($"Sending file {file}..."); - var data = _input[file].GetMLLP(); - messages.AddRange(data); - } - - using var tcpClient = new TcpClient(); - await tcpClient.ConnectAsync(_configuration.InformaticsGatewayOptions.Host, _configuration.InformaticsGatewayOptions.Hl7Port); - var networkStream = tcpClient.GetStream(); - await networkStream.WriteAsync(messages.ToArray(), 0, messages.Count); - var buffer = new byte[512]; - var responseData = string.Empty; - - do - { - if (await networkStream.ReadAsync(buffer, 0, buffer.Length) == 0) - { - break; - } - - responseData = Encoding.UTF8.GetString(buffer.ToArray()); - var rawHl7Messages = HL7.Dotnetcore.MessageHelper.ExtractMessages(responseData); - - foreach (var message in rawHl7Messages) - { - var hl7Message = new HL7.Dotnetcore.Message(message); - hl7Message.ParseMessage(); - var segment = hl7Message.DefaultSegment("MSH"); - _output[segment.Fields(10).Value] = message; - } - - if (_output.Count == _input.Count) - { - break; - } - } while (true); - tcpClient.Close(); + await _dataSink.SendAsync(_dataProvider, true); } - [Then(@"acknowledgement are received")] + [Then(@"acknowledgment are received")] public void ThenAcknowledgementAreReceived() { - foreach (var file in _output.Keys) - { - _outputHelper.WriteLine($"Verifying acknowledgement for {file}..."); - var message = new HL7.Dotnetcore.Message(_output[file]); - message.ParseMessage(); - var segment = message.DefaultSegment("MSH"); - _outputHelper.WriteLine($"ACK Value= {segment.Value}..."); - segment.Fields(9).Value.Should().Be("ACK"); - } + _assertions.ShoulddHaveCorrectNumberOfAckMessages(_dataProvider.HL7Specs.Responses); } [Then(@"a workflow requests sent to message broker")] public void ThenAWorkflowRequestIsSentToMessageBroker() { - _rabbitMqHooks.MessageWaitHandle.Wait(WaitTimeSpan).Should().BeTrue(); + _receivedMessages.MessageWaitHandle.Wait(WaitTimeSpan).Should().BeTrue(); } [Then(@"messages are uploaded to storage service")] public async Task ThenMessageAreUploadedToStorageService() { - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - messages.Should().NotBeNullOrEmpty().And.HaveCount(1); - var message = messages.First(); - message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); - var request = message.ConvertTo<WorkflowRequestEvent>(); - request.Should().NotBeNull(); - request.FileCount.Should().Be(_input.Count); - - var minioClient = new MinioClient() - .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) - .Build(); - - var listOjbectsArgs = new ListObjectsArgs() - .WithBucket(request.Bucket) - .WithPrefix(request.PayloadId.ToString()) - .WithRecursive(true); - var results = minioClient.ListObjectsAsync(listOjbectsArgs); - results.Subscribe(item => - { - _outputHelper.WriteLine($"File => {item.Key}..."); - }, - exception => - { - _outputHelper.WriteLine($"Error listing files {exception.Message}"); - - }); - - foreach (var file in request.Payload) - { - _outputHelper.WriteLine($"Verifying file => {request.PayloadId}/{file.Path}..."); - var getObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Path}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - memoryStream.Position = 0; - var data = Encoding.UTF8.GetString(memoryStream.ToArray()); - - var hl7Message = new HL7.Dotnetcore.Message(data); - hl7Message.ParseMessage().Should().BeTrue(); - }); - await minioClient.GetObjectAsync(getObjectArgs); - } + _assertions.ShouldHaveCorrectNumberOfWorkflowRequestMessagesAndHl7Messages(_dataProvider.HL7Specs, _receivedMessages.Messages, 1); + await _assertions.ShouldHaveUploadedHl7ataToMinio(_receivedMessages.Messages); } } } diff --git a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs index 4d60bdd7a..642b9a1e1 100644 --- a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs @@ -14,19 +14,11 @@ * limitations under the License. */ -using System.Globalization; -using System.Text; using Ardalis.GuardClauses; -using FellowOakDicom; -using FellowOakDicom.Serialization; -using Minio; +using BoDi; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; -using Monai.Deploy.Messaging.Events; -using Monai.Deploy.Messaging.Messages; -using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions { @@ -34,32 +26,23 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class SharedDefinitions { - internal static readonly TimeSpan MessageWaitTimeSpan = TimeSpan.FromMinutes(3); - internal static readonly string KeyDicomHashes = "DICOM_HASHES"; - internal static readonly string KeyDicomFiles = "DICOM_FILES"; - internal static readonly string KeyCalledAet = "CALLED_AET"; - internal static readonly string KeyDataGrouping = "DICOM_DATA_GROUPING"; - internal static readonly string KeyDimseResponse = "DIMSE_RESPONSE"; - internal static readonly string KeyWorkflows = "WORKFLOWS"; + internal static readonly TimeSpan MessageWaitTimeSpan = TimeSpan.FromMinutes(10); + private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; + private readonly RabbitMqConsumer _receivedMessages; + private readonly Assertions _assertions; + private readonly DataProvider _dataProvider; - private readonly ScenarioContext _scenarioContext; - private readonly ISpecFlowOutputHelper _outputHelper; - private readonly Configurations _configuration; - private readonly DicomInstanceGenerator _dicomInstanceGenerator; - private readonly RabbitMqHooks _rabbitMqHooks; - - public SharedDefinitions( - ScenarioContext scenarioContext, - ISpecFlowOutputHelper outputHelper, - Configurations configuration, - DicomInstanceGenerator dicomInstanceGenerator, - RabbitMqHooks rabbitMqHooks) + public SharedDefinitions(ObjectContainer objectContainer) { - _scenarioContext = scenarioContext ?? throw new ArgumentNullException(nameof(scenarioContext)); - _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); - _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dicomInstanceGenerator = dicomInstanceGenerator ?? throw new ArgumentNullException(nameof(dicomInstanceGenerator)); - _rabbitMqHooks = rabbitMqHooks ?? throw new ArgumentNullException(nameof(rabbitMqHooks)); + if (objectContainer is null) + { + throw new ArgumentNullException(nameof(objectContainer)); + } + + _informaticsGatewayConfiguration = objectContainer.Resolve<InformaticsGatewayConfiguration>("InformaticsGatewayConfiguration"); + _receivedMessages = objectContainer.Resolve<RabbitMqConsumer>("WorkflowRequestSubscriber"); + _assertions = objectContainer.Resolve<Assertions>("Assertions"); + _dataProvider = objectContainer.Resolve<DataProvider>("DataProvider"); } [Given(@"(.*) (.*) studies")] @@ -68,15 +51,9 @@ public void GivenNStudies(int studyCount, string modality) Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); - _outputHelper.WriteLine($"Generating {studyCount} {modality} study"); - _configuration.StudySpecs.ContainsKey(modality).Should().BeTrue(); + _dataProvider.GenerateDicomData(modality, studyCount); - var studySpec = _configuration.StudySpecs[modality]; - var patientId = DateTime.Now.ToString("yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); - var fileSpecs = _dicomInstanceGenerator.Generate(patientId, studyCount, modality, studySpec); - _scenarioContext[KeyDicomFiles] = fileSpecs; - _rabbitMqHooks.SetupMessageHandle(fileSpecs.NumberOfExpectedRequests(_scenarioContext[KeyDataGrouping].ToString())); - _outputHelper.WriteLine($"File specs: {fileSpecs.StudyCount}, {fileSpecs.SeriesPerStudyCount}, {fileSpecs.InstancePerSeries}, {fileSpecs.FileCount}"); + _receivedMessages.SetupMessageHandle(_dataProvider.DicomSpecs.NumberOfExpectedRequests(_dataProvider.StudyGrouping)); } [Then(@"(.*) workflow requests sent to message broker")] @@ -84,75 +61,15 @@ public void ThenWorkflowRequestSentToMessageBroker(int workflowCount) { Guard.Against.NegativeOrZero(workflowCount, nameof(workflowCount)); - _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - var fileSpecs = _scenarioContext[KeyDicomFiles] as DicomInstanceGenerator.StudyGenerationSpecs; - - messages.Should().NotBeNullOrEmpty().And.HaveCount(workflowCount); - foreach (var message in messages) - { - message.ApplicationId.Should().Be(MessageBrokerConfiguration.InformaticsGatewayApplicationId); - var request = message.ConvertTo<WorkflowRequestEvent>(); - request.Should().NotBeNull(); - request.FileCount.Should().Be((fileSpecs.NumberOfExpectedFiles(_scenarioContext[KeyDataGrouping].ToString()))); - - if (_scenarioContext.ContainsKey(SharedDefinitions.KeyWorkflows) && - _scenarioContext[SharedDefinitions.KeyWorkflows] is string[] workflows) - { - request.Workflows.Should().Equal(workflows); - } - } + _receivedMessages.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); + _assertions.ShouldHaveCorrectNumberOfWorkflowRequestMessages(_dataProvider, _receivedMessages.Messages, workflowCount); } [Then(@"studies are uploaded to storage service")] public async Task ThenXXFilesUploadedToStorageService() { - var minioClient = new MinioClient() - .WithEndpoint(_configuration.StorageServiceOptions.Endpoint) - .WithCredentials(_configuration.StorageServiceOptions.AccessKey, _configuration.StorageServiceOptions.AccessToken) - .Build(); - - var dicomSizes = _scenarioContext[KeyDicomHashes] as Dictionary<string, string>; - _rabbitMqHooks.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); - var messages = _scenarioContext[RabbitMqHooks.ScenarioContextKey] as IList<Message>; - messages.Should().NotBeNullOrEmpty(); - - foreach (var message in messages) - { - var request = message.ConvertTo<WorkflowRequestEvent>(); - foreach (var file in request.Payload) - { - var dicomValidationKey = string.Empty; - var getObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Path}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - memoryStream.Position = 0; - var dicomFile = DicomFile.Open(memoryStream); - dicomValidationKey = dicomFile.GenerateFileName(); - dicomSizes.Should().ContainKey(dicomValidationKey).WhoseValue.Should().Be(dicomFile.CalculateHash()); - }); - await minioClient.GetObjectAsync(getObjectArgs); - - var getMetadataObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Metadata}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - var json = Encoding.UTF8.GetString(memoryStream.ToArray()); - - var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); - var key = dicomFileFromJson.GenerateFileName(); - key.Should().Be(dicomValidationKey); - }); - await minioClient.GetObjectAsync(getMetadataObjectArgs); - } - } + _receivedMessages.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); + await _assertions.ShouldHaveUploadedDicomDataToMinio(_receivedMessages.Messages, _dataProvider.DicomSpecs.FileHashes); } } } diff --git a/tests/Integration.Test/appsettings.ext.json b/tests/Integration.Test/appsettings.ext.json new file mode 100644 index 000000000..d79e7a2df --- /dev/null +++ b/tests/Integration.Test/appsettings.ext.json @@ -0,0 +1,9 @@ +{ + "OrthancSettings": { + "Host": "127.0.0.1", + "dimsePort": 1114, + "dicomWebRoot": "http://127.0.0.1:8089/dicom-web/", + "username": "monai", + "password": "monai!" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/appsettings.json b/tests/Integration.Test/appsettings.json index 349fecd07..365be1aa9 100644 --- a/tests/Integration.Test/appsettings.json +++ b/tests/Integration.Test/appsettings.json @@ -1,34 +1,82 @@ -{ - "TestRunnerSettings": { - "HostIp": "$HOST_IP", - "Bucket": "monaideploy" +{ + "ConnectionStrings": { + "Type": "Sqlite", + "InformaticsGatewayDatabase": "Data Source=./mig.db" }, - "InformaticsGatewaySettings": { - "host": "$HOST_IP", - "dimsePort": 104, - "apiPort": 5000, - "Hl7Port": 2575 + "InformaticsGateway": { + "dicom": { + "scp": { + "port": 1104, + "logDimseDatasets": false, + "rejectUnknownSources": true + }, + "scu": { + "aeTitle": "MONAISCU", + "logDimseDatasets": false, + "logDataPDUs": false + } + }, + "messaging": { + "publisherServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessagePublisherService, Monai.Deploy.Messaging.RabbitMQ", + "publisherSettings": { + "endpoint": "localhost", + "username": "rabbitmq", + "password": "rabbitmq", + "virtualHost": "monaideploy", + "exchange": "monaideploy" + }, + "subscriberServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessageSubscriberService, Monai.Deploy.Messaging.RabbitMQ", + "subscriberSettings": { + "endpoint": "localhost", + "username": "rabbitmq", + "password": "rabbitmq", + "virtualHost": "monaideploy", + "exchange": "monaideploy", + "deadLetterExchange": "monaideploy-dead-letter", + "deliveryLimit": 3, + "requeueDelay": 30 + } + }, + "storage": { + "localTemporaryStoragePath": "./payloads", + "remoteTemporaryStoragePath": "/incoming", + "bucketName": "monaideploy", + "storageRootPath": "/payloads", + "temporaryBucketName": "monaideploy", + "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", + "watermarkPercent": 99, + "reserveSpaceGB": 1, + "settings": { + "endpoint": "localhost:9000", + "accessKey": "minioadmin", + "accessToken": "minioadmin", + "securedConnection": false, + "region": "local", + "createBuckets": "monaideploy" + } + }, + "hl7": { + "port": 2575, + "maximumNumberOfConnections": 10, + "clientTimeout": 60000, + "sendAck": true + } }, - "MessageBrokerSettings": { - "endpoint": "$HOST_IP", - "username": "rabbitmq", - "password": "rabbitmq", - "virtualHost": "monaideploy", - "exchange": "monaideploy" + "Kestrel": { + "EndPoints": { + "Http": { + "Url": "http://+:5000" + } + } }, - "StorageServiceSettings": { - "host": "$HOST_IP", - "port": 9000, - "accessKey": "minioadmin", - "accessToken": "minioadmin", - "storageServiceBucketName": "monaideploy" - }, - "OrthancSettings": { - "Host": "$HOST_IP", - "dimsePort": 1114, - "dicomWebRoot": "http://$HOST_IP:8089/dicom-web/", - "dicomWebRootInternal": "http://orthanc:8089/dicom-web/", - "username": "monai", - "password": "monai!" + "AllowedHosts": "*", + "Cli": { + "Runner": "Docker", + "HostDataStorageMount": "~/.mig/data", + "HostPlugInsStorageMount": "~/.mig/plug-ins", + "HostDatabaseStorageMount": "~/.mig/database", + "HostLogsStorageMount": "~/.mig/logs", + "InformaticsGatewayServerEndpoint": "http://localhost:5000", + "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } } \ No newline at end of file diff --git a/tests/Integration.Test/configs/informatics-gateway.json b/tests/Integration.Test/configs/informatics-gateway.json deleted file mode 100644 index fb7217b8d..000000000 --- a/tests/Integration.Test/configs/informatics-gateway.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "ConnectionStrings": { - "Type": "Sqlite", - "InformaticsGatewayDatabase": "Data Source=/database/mig.db" - }, - "InformaticsGateway": { - "dicom": { - "scp": { - "port": 104, - "logDimseDatasets": false, - "rejectUnknownSources": true - }, - "scu": { - "aeTitle": "MONAISCU", - "logDimseDatasets": false, - "logDataPDUs": false - } - }, - "messaging": { - "publisherServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessagePublisherService, Monai.Deploy.Messaging.RabbitMQ", - "publisherSettings": { - "endpoint": "rabbitmq", - "username": "rabbitmq", - "password": "rabbitmq", - "virtualHost": "monaideploy", - "exchange": "monaideploy" - }, - "subscriberServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessageSubscriberService, Monai.Deploy.Messaging.RabbitMQ", - "subscriberSettings": { - "endpoint": "rabbitmq", - "username": "rabbitmq", - "password": "rabbitmq", - "virtualHost": "monaideploy", - "exchange": "monaideploy", - "exportRequestQueue": "export_tasks", - "deadLetterExchange": "monaideploy-dead-letter", - "deliveryLimit": 3, - "requeueDelay": 30 - } - }, - "storage": { - "localTemporaryStoragePath": "/payloads", - "remoteTemporaryStoragePath": "/incoming", - "bucketName": "monaideploy", - "storageRootPath": "/payloads", - "temporaryBucketName": "monaideploy", - "serviceAssemblyName": "Monai.Deploy.Storage.MinIO.MinIoStorageService, Monai.Deploy.Storage.MinIO", - "watermarkPercent": 90, - "reserveSpaceGB": 1, - "settings": { - "endpoint": "minio:9000", - "accessKey": "minioadmin", - "accessToken": "minioadmin", - "securedConnection": false, - "region": "" - } - } - }, - "Logging": { - "LogLevel": { - "Default": "Information", - "FellowOakDicom": "Warning", - "System": "Warning", - "Microsoft": "Warning", - "Microsoft.EntityFrameworkCore": "Warning", - "Microsoft.Hosting.Lifetime": "Warning", - "Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker": "Error", - "Monai": "Trace" - }, - "Console": { - "FormatterName": "Simple", - "FormatterOptions": { - "ColorBehavior": "Disabled", - "IncludeScopes": true, - "SingleLine": false, - "TimestampFormat": " HH:mm:ss ", - "UseUtcTimestamp": true - } - }, - "File": { - "BasePath": "logs", - "FileEncodingName": "utf-8", - "DateFormat": "yyyyMMdd", - "CounterFormat": "000", - "MaxFileSize": 10485760, - "IncludeScopes": true, - "MaxQueueSize": 100, - "TextBuilderType": "Monai.Deploy.InformaticsGateway.Logging.FileLoggingTextFormatter, Monai.Deploy.InformaticsGateway", - "Files": [ - { - "Path": "MIG-<date>-<counter>.log" - } - ] - } - }, - "Kestrel": { - "EndPoints": { - "Http": { - "Url": "http://+:5000" - } - } - }, - "AllowedHosts": "*", - "Cli": { - "Runner": "Docker", - "HostDataStorageMount": "~/.mig/data", - "HostDatabaseStorageMount": "~/.mig/database", - "HostLogsStorageMount": "~/.mig/logs", - "InformaticsGatewayServerEndpoint": "http://localhost:5000", - "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" - } -} diff --git a/tests/Integration.Test/configs/rabbitmq.json b/tests/Integration.Test/configs/rabbitmq.json deleted file mode 100644 index ba14e70bc..000000000 --- a/tests/Integration.Test/configs/rabbitmq.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "exchanges": [ - { - "name": "monaideploy", - "arguments": {}, - "auto_delete": false, - "durable": true, - "type": "topic", - "vhost": "monaideploy" - } - ], - "users": [ - { - "limits": {}, - "name": "rabbitmq", - "password": "qmtibbar", - "tags": [ - "administrator" - ] - } - ], - "vhosts": [ - { - "name": "/" - } - ], - "permissions": [ - { - "user": "rabbitmiq", - "vhost": "/", - "configure": ".*", - "read": ".*", - "write": ".*" - } - ], - "queues": [ - { - "name": "workflow-queue", - "vhost": "/", - "durable": true, - "auto_delete": false, - "arguments": { - "x-message-ttl": 3600000 - } - }, - { - "name": "export-queue", - "vhost": "/", - "durable": true, - "auto_delete": false, - "arguments": { - "x-message-ttl": 3600000 - } - } - ], - "bindings": [ - { - "source": "monaideploy", - "vhost": "/", - "destination": "workflow-queue", - "destination_type": "queue", - "routing_key": "md.workflow.request", - "arguments": {} - }, - { - "source": "monaideploy", - "vhost": "/", - "destination": "export-queue", - "destination_type": "queue", - "routing_key": "md.export.complete", - "arguments": {} - } - ] -} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json index f8f2c3589..6437f0632 100644 --- a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.json @@ -1,75 +1,75 @@ { - "resourceType": "Observation", - "id": "Observation", - "text": { - "fhir_comments": [ - " urn:oid:2.16.840.1.113883.4.642.1.7 ", - " 2.16.840.1.113883.4.642.1.118 " - ], - "status": "generated", - "div": "<div><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f003</p><p><b>identifier</b>: 6325 (OFFICIAL)</p><p><b>status</b>: final</p><p><b>code</b>: Carbon dioxide in blood <span>(Details : {LOINC code '11557-6' = 'Carbon dioxide [Partial pressure] in Blood', given as 'Carbon dioxide in blood'})</span></p><p><b>subject</b>: <a>P. van de Heuvel</a></p><p><b>effective</b>: 02/04/2013 10:30:10 AM --> 05/04/2013 10:30:10 AM</p><p><b>issued</b>: 03/04/2013 3:30:10 PM</p><p><b>performer</b>: <a>A. Langeveld</a></p><p><b>value</b>: 6.2 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></p><p><b>interpretation</b>: Above high normal <span>(Details : {http://hl7.org/fhir/v2/0078 code 'H' = 'High', given as 'Above high normal'})</span></p><h3>ReferenceRanges</h3><table><tr><td>-</td><td><b>Low</b></td><td><b>High</b></td></tr><tr><td>*</td><td>4.8 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></td><td>6.0 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></td></tr></table></div>" - }, - "identifier": [ - { - "use": "official", - "system": "http://www.bmc.nl/zorgportal/identifiers/observations", - "value": "6325" - } + "resourceType": "Observation", + "id": "Observation", + "text": { + "fhir_comments": [ + " urn:oid:2.16.840.1.113883.4.642.1.7 ", + " 2.16.840.1.113883.4.642.1.118 " ], - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "11557-6", - "display": "Carbon dioxide in blood" - } - ] - }, - "subject": { - "reference": "Patient/f001", - "display": "P. van de Heuvel" - }, - "effectivePeriod": { - "start": "2013-04-02T10:30:10+01:00", - "end": "2013-04-05T10:30:10+01:00" - }, - "issued": "2013-04-03T15:30:10+01:00", - "performer": [ + "status": "generated", + "div": "<div><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f003</p><p><b>identifier</b>: 6325 (OFFICIAL)</p><p><b>status</b>: final</p><p><b>code</b>: Carbon dioxide in blood <span>(Details : {LOINC code '11557-6' = 'Carbon dioxide [Partial pressure] in Blood', given as 'Carbon dioxide in blood'})</span></p><p><b>subject</b>: <a>P. van de Heuvel</a></p><p><b>effective</b>: 02/04/2013 10:30:10 AM --> 05/04/2013 10:30:10 AM</p><p><b>issued</b>: 03/04/2013 3:30:10 PM</p><p><b>performer</b>: <a>A. Langeveld</a></p><p><b>value</b>: 6.2 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></p><p><b>interpretation</b>: Above high normal <span>(Details : {http://hl7.org/fhir/v2/0078 code 'H' = 'High', given as 'Above high normal'})</span></p><h3>ReferenceRanges</h3><table><tr><td>-</td><td><b>Low</b></td><td><b>High</b></td></tr><tr><td>*</td><td>4.8 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></td><td>6.0 kPa<span> (Details: http://unitsofmeasure.org code kPa = '??')</span></td></tr></table></div>" + }, + "identifier": [ + { + "use": "official", + "system": "http://www.bmc.nl/zorgportal/identifiers/observations", + "value": "6325" + } + ], + "status": "final", + "code": { + "coding": [ { - "reference": "Practitioner/f005", - "display": "A. Langeveld" + "system": "http://loinc.org", + "code": "11557-6", + "display": "Carbon dioxide in blood" } - ], - "valueQuantity": { - "value": 6.2, - "unit": "kPa", - "system": "http://unitsofmeasure.org", - "code": "kPa" - }, - "interpretation": { - "coding": [ - { - "system": "http://hl7.org/fhir/v2/0078", - "code": "H", - "display": "Above high normal" - } - ] - }, - "referenceRange": [ + ] + }, + "subject": { + "reference": "Patient/f001", + "display": "P. van de Heuvel" + }, + "effectivePeriod": { + "start": "2013-04-02T10:30:10+01:00", + "end": "2013-04-05T10:30:10+01:00" + }, + "issued": "2013-04-03T15:30:10+01:00", + "performer": [ + { + "reference": "Practitioner/f005", + "display": "A. Langeveld" + } + ], + "valueQuantity": { + "value": 6.2, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + }, + "interpretation": { + "coding": [ { - "low": { - "value": 4.8, - "unit": "kPa", - "system": "http://unitsofmeasure.org", - "code": "kPa" - }, - "high": { - "value": 6.0, - "unit": "kPa", - "system": "http://unitsofmeasure.org", - "code": "kPa" - } + "system": "http://hl7.org/fhir/v2/0078", + "code": "H", + "display": "Above high normal" } ] - } \ No newline at end of file + }, + "referenceRange": [ + { + "low": { + "value": 4.8, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + }, + "high": { + "value": 6.0, + "unit": "kPa", + "system": "http://unitsofmeasure.org", + "code": "kPa" + } + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml index fcfd8375e..a89a3ff44 100644 --- a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Observation.xml @@ -1,20 +1,20 @@ <Observation xmlns="http://hl7.org/fhir"> - <id value="Observation"/> + <id value="Observation" /> <!-- the mandatory quality flags: --> - <text><status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>status</b>: final</p><p><b>category</b>: Vital Signs <span>(Details : {http://hl7.org/fhir/observation-category code 'vital-signs' = 'Vital Signs', + <text><status value="generated" /><div xmlns="http://www.w3.org/1999/xhtml"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>status</b>: final</p><p><b>category</b>: Vital Signs <span>(Details : {http://hl7.org/fhir/observation-category code 'vital-signs' = 'Vital Signs', given as 'Vital Signs'})</span></p><p><b>code</b>: Weight Measured <span>(Details : {LOINC code '3141-9' = 'Body weight Measured', given as 'Weight Measured'}; {SNOMED CT code '27113001' = '27113001', given as 'Body weight'}; {http://acme.org/devices/clinical- - codes code 'body-weight' = '??', given as 'Body Weight'})</span></p><p><b>subject</b>: <a>Patient/example</a></p><p><b>encounter</b>: <a>Encounter/example</a></p><p><b>value</b>: 185 lbs<span> (Details: http://unitsofmeasure.org code [lb_av] = '??')</span></p></div></text><status value="final"/> + codes code 'body-weight' = '??', given as 'Body Weight'})</span></p><p><b>subject</b>: <a>Patient/example</a></p><p><b>encounter</b>: <a>Encounter/example</a></p><p><b>value</b>: 185 lbs<span> (Details: http://unitsofmeasure.org code [lb_av] = '??')</span></p></div></text><status value="final" /> <!-- category code is A code that classifies the general type of observation being made. This is used for searching, sorting and display purposes. --> <category> <coding> - <system value="http://hl7.org/fhir/observation-category"/> - <code value="vital-signs"/> - <display value="Vital Signs"/> + <system value="http://hl7.org/fhir/observation-category" /> + <code value="vital-signs" /> + <display value="Vital Signs" /> </coding> </category> - <!-- + <!-- Observations are often coded in multiple code systems. - LOINC provides a very specific code (though not usefully more specific in this particular case) @@ -26,42 +26,42 @@ <code> <!-- LOINC - always recommended to have a LOINC code --> <coding> - <system value="http://loinc.org"/> - <code value="3141-9"/> - <display value="Weight Measured"/> + <system value="http://loinc.org" /> + <code value="3141-9" /> + <display value="Weight Measured" /> </coding> <!-- SNOMED CT Codes - becoming more common --> <coding> - <system value="http://snomed.info/sct"/> - <code value="27113001"/> - <display value="Body weight"/> + <system value="http://snomed.info/sct" /> + <code value="27113001" /> + <display value="Body weight" /> </coding> <!-- Also, a local code specific to the source system --> <coding> - <system value="http://acme.org/devices/clinical-codes"/> - <code value="body-weight"/> - <display value="Body Weight"/> + <system value="http://acme.org/devices/clinical-codes" /> + <code value="body-weight" /> + <display value="Body Weight" /> </coding> </code> <subject> - <reference value="Patient/example"/> + <reference value="Patient/example" /> </subject> <encounter> - <reference value="Encounter/example"/> + <reference value="Encounter/example" /> </encounter> <!-- In FHIR, units may be represented twice. Once in the agreed human representation, and once in a coded form. Both is best, since it's not always possible to infer one from the other in code. - + When a computable unit is provided, UCUM (http://unitsofmeasure.org) is always preferred, but it doesn't provide notional units (such as "tablet"), etc. For these, something else is required (e.g. SNOMED CT) --> <valueQuantity> - <value value="185"/> - <unit value="lbs"/> - <system value="http://unitsofmeasure.org"/> - <code value="[lb_av]"/> + <value value="185" /> + <unit value="lbs" /> + <system value="http://unitsofmeasure.org" /> + <code value="[lb_av]" /> </valueQuantity> - </Observation> \ No newline at end of file + </Observation> diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json index 77cf8c7ca..bb27e0ee1 100644 --- a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.json @@ -1,60 +1,60 @@ { - "resourceType": "Patient", - "id": "Patient", - "text": { - "status": "generated", - "div": "<div> Patient MINT_TEST, ID = MINT1234. Age = 56y, Size =\n 1.83m, Weight = 72.58kg </div>" - }, - "extension": [ - { - "url": "http://nema.org/fhir/extensions#0010:1010", - "valueQuantity": { - "value": 56, - "unit": "Y" - } - }, - { - "url": "http://nema.org/fhir/extensions#0010:1020", - "valueQuantity": { - "value": 1.83, - "unit": "m" - } - }, - { - "url": "http://nema.org/fhir/extensions#0010:1030", - "valueQuantity": { - "value": 72.58, - "unit": "kg" - } + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "<div> Patient MINT_TEST, ID = MINT1234. Age = 56y, Size =\n 1.83m, Weight = 72.58kg </div>" + }, + "extension": [ + { + "url": "http://nema.org/fhir/extensions#0010:1010", + "valueQuantity": { + "value": 56, + "unit": "Y" } - ], - "identifier": [ - { - "system": "http://nema.org/examples/patients", - "value": "MINT1234" + }, + { + "url": "http://nema.org/fhir/extensions#0010:1020", + "valueQuantity": { + "value": 1.83, + "unit": "m" } - ], - "active": true, - "name": [ - { - "family": [ - "MINT_TEST" - ] + }, + { + "url": "http://nema.org/fhir/extensions#0010:1030", + "valueQuantity": { + "value": 72.58, + "unit": "kg" } - ], - "gender": "male", - "_gender": { - "extension": [ - { - "url": "http://nema.org/examples/extensions#gender", - "valueCoding": { - "system": "http://nema.org/examples/gender", - "code": "M" - } - } + } + ], + "identifier": [ + { + "system": "http://nema.org/examples/patients", + "value": "MINT1234" + } + ], + "active": true, + "name": [ + { + "family": [ + "MINT_TEST" ] - }, - "managingOrganization": { - "reference": "Organization/1" } - } \ No newline at end of file + ], + "gender": "male", + "_gender": { + "extension": [ + { + "url": "http://nema.org/examples/extensions#gender", + "valueCoding": { + "system": "http://nema.org/examples/gender", + "code": "M" + } + } + ] + }, + "managingOrganization": { + "reference": "Organization/1" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml index a6a14cb0f..53152a360 100644 --- a/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml +++ b/tests/Integration.Test/data/fhir/1.0.2 DSTU2/Patient.xml @@ -1,33 +1,32 @@ <Patient xmlns="http://hl7.org/fhir"> - <id value="Patient"/> + <id value="Patient" /> <text> - <status value="generated"/> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - + <p>Henry Levin the 7th</p> - </div> </text> <identifier> - <use value="usual"/> + <use value="usual" /> <type> <coding> - <system value="http://hl7.org/fhir/v2/0203"/> - <code value="MR"/> + <system value="http://hl7.org/fhir/v2/0203" /> + <code value="MR" /> </coding> </type> - <system value="urn:oid:2.16.840.1.113883.19.5"/> - <value value="12345"/> + <system value="urn:oid:2.16.840.1.113883.19.5" /> + <value value="12345" /> </identifier> - <active value="true"/> + <active value="true" /> <name> - <family value="Levin"/> - <given value="Henry"/> + <family value="Levin" /> + <given value="Henry" /> </name> - <gender value="male"/> - <birthDate value="1932-09-24"/> + <gender value="male" /> + <birthDate value="1932-09-24" /> <managingOrganization> - <reference value="Organization/2.16.840.1.113883.19.5"/> - <display value="Good Health Clinic"/> + <reference value="Organization/2.16.840.1.113883.19.5" /> + <display value="Good Health Clinic" /> </managingOrganization> - </Patient> \ No newline at end of file + </Patient> diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json index 70287fc6c..5b3eedd01 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.json @@ -1,37 +1,37 @@ { - "resourceType": "Bundle", - "id": "Bundle", - "type": "batch", - "entry": [ - { - "request": { - "method": "GET", - "url": "/Patient/example" - } - }, - { - "request": { - "method": "GET", - "url": "/MedicationStatement?patient=example&_list=$current-medications" - } - }, - { - "request": { - "method": "GET", - "url": "/AllergyIntolernce?patient=example&_list=$current-allergies" - } - }, - { - "request": { - "method": "GET", - "url": "/Condition?patient=example&_list=$current-problems" - } - }, - { - "request": { - "method": "GET", - "url": "/MedicationStatement?patient=example¬given:not=true" - } + "resourceType": "Bundle", + "id": "Bundle", + "type": "batch", + "entry": [ + { + "request": { + "method": "GET", + "url": "/Patient/example" } - ] - } \ No newline at end of file + }, + { + "request": { + "method": "GET", + "url": "/MedicationStatement?patient=example&_list=$current-medications" + } + }, + { + "request": { + "method": "GET", + "url": "/AllergyIntolernce?patient=example&_list=$current-allergies" + } + }, + { + "request": { + "method": "GET", + "url": "/Condition?patient=example&_list=$current-problems" + } + }, + { + "request": { + "method": "GET", + "url": "/MedicationStatement?patient=example¬given:not=true" + } + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml index 4df8c5dd7..231b5a51a 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Bundle.xml @@ -1,242 +1,242 @@ <Bundle xmlns="http://hl7.org/fhir"> - <id value="Bundle"/> + <id value="Bundle" /> <!-- this example bundle is a transaction --> - <meta> - <lastUpdated value="2014-08-18T01:43:30Z"/> + <meta> + <lastUpdated value="2014-08-18T01:43:30Z" /> <!-- when the transaction was constructed --> - </meta> - <type value="transaction"/> + </meta> + <type value="transaction" /> <!-- now, each entry is an action to take in the transaction --> - <entry> - <fullUrl value="urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a"/> - <resource> + <entry> + <fullUrl value="urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a" /> + <resource> <!-- a simple create operation --> <!-- first, the resource to create --> - <Patient> + <Patient> <!-- no id for create operations --> <!-- and no metadata on this resource, though it would be valid --> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> <!-- now, details about the action to take with the resource --> - <request> + <request> <!-- POST to [base]/Patient - that's a create --> - <method value="POST"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="POST" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> - <url value="Patient"/> - </request> - </entry> - <entry> - <fullUrl value="urn:uuid:88f151c0-a954-468a-88bd-5ae15c08e059"/> - <resource> + <url value="Patient" /> + </request> + </entry> + <entry> + <fullUrl value="urn:uuid:88f151c0-a954-468a-88bd-5ae15c08e059" /> + <resource> <!-- a conditional create operation --> <!-- first, the resource --> - <Patient> + <Patient> <!-- no id for create operations --> <!-- and no metadata on this resource, though it would be valid --> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> <!-- transaction details --> - <request> + <request> <!-- POST to [base]/Patient - that's a create --> - <method value="POST"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="POST" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> - <url value="Patient"/> - <!-- the conditional header: only add this resource if + <url value="Patient" /> + <!-- the conditional header: only add this resource if there isn't already one for this patient. If there is one, the content of this resource will be ignored --> - <ifNoneExist value="identifier=234234"/> - </request> - </entry> - <entry> - <fullUrl value="http://example.org/fhir/Patient/123"/> - <resource> + <ifNoneExist value="identifier=234234" /> + </request> + </entry> + <entry> + <fullUrl value="http://example.org/fhir/Patient/123" /> + <resource> <!-- a simple update operation --> <!-- first, the resource --> - <Patient> + <Patient> <!-- the id here and in the URL have to match --> - <id value="123"/> + <id value="123" /> <!-- and no metadata on this resource, though it would be valid --> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> <!-- transaction details --> - <request> + <request> <!-- PUT to [base]/Patient/[id] - that's an update --> - <method value="PUT"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="PUT" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient becomes just 'Patient': --> - <url value="Patient/123"/> - </request> - </entry> - <entry> - <fullUrl value="urn:uuid:74891afc-ed52-42a2-bcd7-f13d9b60f096"/> - <resource> + <url value="Patient/123" /> + </request> + </entry> + <entry> + <fullUrl value="urn:uuid:74891afc-ed52-42a2-bcd7-f13d9b60f096" /> + <resource> <!-- a conditional update operation --> <!-- first, the resource --> - <Patient> + <Patient> <!-- no id for conditional update operations --> <!-- and no metadata on this resource, though it would be valid --> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> <!-- transaction details --> - <request> + <request> <!-- PUT to [base]/Patient?search_params - that's a conditional update --> - <method value="PUT"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="PUT" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient?params becomes just 'Patient?params': --> - <url value="Patient?identifier=234234"/> - </request> - </entry> + <url value="Patient?identifier=234234" /> + </request> + </entry> <!-- a different kind of conditional update: version dependent --> - <entry> - <fullUrl value="http://example.org/fhir/Patient/123a"/> - <resource> - <Patient> - <id value="123a"/> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> - <request> - <method value="PUT"/> - <url value="Patient/123a"/> + <entry> + <fullUrl value="http://example.org/fhir/Patient/123a" /> + <resource> + <Patient> + <id value="123a" /> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> + <request> + <method value="PUT" /> + <url value="Patient/123a" /> <!-- this will only succeed if the source version is correct: --> - <ifMatch value="W/"2""/> - </request> - </entry> - <entry> + <ifMatch value="W/"2"" /> + </request> + </entry> + <entry> <!-- a simple delete operation --> <!-- no resource in this case --> <!-- transaction details --> - <request> + <request> <!-- DELETE to [base]/Patient/[id]- that's a delete operation --> - <method value="DELETE"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="DELETE" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient/234 becomes just 'Patient/234': --> - <!-- btw, couldn't re-use Patient/123 for the delete, since + <!-- btw, couldn't re-use Patient/123 for the delete, since the transaction couldn't do two different operations on the same resource --> - <url value="Patient/234"/> - </request> - </entry> - <entry> + <url value="Patient/234" /> + </request> + </entry> + <entry> <!-- a conditional delete operation --> <!-- no resource in this case --> <!-- transaction details --> - <request> + <request> <!-- DELETE to [base]/Patient?params- that's a conditional delete operation --> - <method value="DELETE"/> - <!-- actually, in a transaction, you don't specify the [base], + <method value="DELETE" /> + <!-- actually, in a transaction, you don't specify the [base], so [base]/Patient?params becomes just 'Patient?params': --> - <url value="Patient?identifier=123456"/> - </request> - </entry> - <entry> - <fullUrl value="urn:uuid:79378cb8-8f58-48e8-a5e8-60ac2755b674"/> - <resource> - <!-- can do more than just create/update/delete. + <url value="Patient?identifier=123456" /> + </request> + </entry> + <entry> + <fullUrl value="urn:uuid:79378cb8-8f58-48e8-a5e8-60ac2755b674" /> + <resource> + <!-- can do more than just create/update/delete. This is how to invoke an operation with a set of parameters --> - <Parameters> - <parameter> - <name value="coding"/> - <valueCoding> - <system value="http://loinc.org"/> - <code value="1963-8"/> - </valueCoding> - </parameter> - </Parameters> - </resource> - <request> + <Parameters> + <parameter> + <name value="coding" /> + <valueCoding> + <system value="http://loinc.org" /> + <code value="1963-8" /> + </valueCoding> + </parameter> + </Parameters> + </resource> + <request> <!-- POST to [base]/ValueSet/$lookup - invoking a lookup operation (see Terminology Service) --> - <method value="POST"/> - <url value="ValueSet/$lookup"/> - </request> - </entry> - <entry> - <!-- can also do read-only operations. - - Note that these do not 'fail' - see discussion on transaction - atomicity for further information + <method value="POST" /> + <url value="ValueSet/$lookup" /> + </request> + </entry> + <entry> + <!-- can also do read-only operations. + + Note that these do not 'fail' - see discussion on transaction + atomicity for further information --> - <request> + <request> <!-- GET from [base]/Patient?params - searching for a patient --> - <method value="GET"/> - <url value="Patient?name=peter"/> - </request> - </entry> - <entry> + <method value="GET" /> + <url value="Patient?name=peter" /> + </request> + </entry> + <entry> <!-- and an example conditional read: --> - <request> - <method value="GET"/> - <url value="Patient/12334"/> + <request> + <method value="GET" /> + <url value="Patient/12334" /> <!-- in practice, you'd only specify one of these --> - <ifNoneMatch value="W/"4""/> - <ifModifiedSince value="2015-08-31T08:14:33+10:00"/> - </request> - </entry> - </Bundle> \ No newline at end of file + <ifNoneMatch value="W/"4"" /> + <ifModifiedSince value="2015-08-31T08:14:33+10:00" /> + </request> + </entry> + </Bundle> diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml index 89d473e9d..bc63abf0f 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/DiagnosticReport.xml @@ -1,17 +1,17 @@ <DiagnosticReport xmlns="http://hl7.org/fhir"> - <id value="DiagnosticReport"/> - <meta> - <tag> - <system value="http://example.org/fhir/CodeSystem/workflow-codes"/> - <code value="01"/> - <display value="Needs Review"/> - </tag> - </meta> - <text> - <status value="generated"/> + <id value="DiagnosticReport" /> + <meta> + <tag> + <system value="http://example.org/fhir/CodeSystem/workflow-codes" /> + <code value="01" /> + <display value="Needs Review" /> + </tag> + </meta> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - <h3> CBC Report for Wile. E. COYOTE (MRN: 23453) issued 3-Mar 2011 11:45</h3> - <pre> + <h3> CBC Report for Wile. E. COYOTE (MRN: 23453) issued 3-Mar 2011 11:45</h3> + <pre> Test Units Value Reference Range Haemoglobin g/L 176 135 - 180 Red Cell Count x10*12/L 5.9 4.2 - 6.0 @@ -30,13 +30,13 @@ Eosinophils % 20 Eosinophils x10*9/L 0.92++ 0.04 - 0.40 Basophils % 20 Basophils x10*9/L 0.92+++ <0.21 - </pre> - <p> Acme Laboratory, Inc signed: Dr Pete Pathologist</p> - </div> - </text> - <contained> - <Observation> - <!-- + </pre> + <p> Acme Laboratory, Inc signed: Dr Pete Pathologist</p> + </div> + </text> + <contained> + <Observation> + <!-- all the data items (= Observations) are contained in this diagnostic report. It would be equally valid - and normal - for them to be separate trackable @@ -46,753 +46,753 @@ Basophils x10*9/L 0.92+++ <0.21 topic page --> <!-- for users steeped in v2, each observation roughly corresponds with an OBX, and the Diagnostic Report with an ORU_R01 message --> - <id value="r1"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="718-7"/> - <display value="Hemoglobin [Mass/volume] in Blood"/> - </coding> - <text value="Haemoglobin"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="176"/> - <unit value="g/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="g/L"/> - </valueQuantity> - <referenceRange> - <low> - <value value="135"/> - <unit value="g/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="g/L"/> - </low> - <high> - <value value="180"/> - <unit value="g/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="g/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r2"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="789-8"/> - <display value="Erythrocytes [#/volume] in Blood by Automated count"/> - </coding> - <text value="Red Cell Count"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="5.9"/> - <unit value="x10*12/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*12/L"/> - </valueQuantity> - <referenceRange> - <low> - <value value="4.2"/> - <unit value="x10*12/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*12/L"/> - </low> - <high> - <value value="6.0"/> - <unit value="x10*12/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*12/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r3"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="4544-3"/> - <display value="Hematocrit [Volume Fraction] of Blood by Automated count"/> - </coding> - <text value="Haematocrit"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="55"/> - <unit value="%"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="H"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="38"/> - <unit value="%"/> - </low> - <high> - <value value="52"/> - <unit value="%"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r4"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="787-2"/> - <display value="Erythrocyte mean corpuscular volume [Entitic volume] by Automated count"/> - </coding> - <text value="Mean Cell Volume"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="99"/> - <unit value="fL"/> - <system value="http://unitsofmeasure.org"/> - <code value="fL"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="H"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="80"/> - <unit value="fL"/> - <system value="http://unitsofmeasure.org"/> - <code value="fL"/> - </low> - <high> - <value value="98"/> - <unit value="fL"/> - <system value="http://unitsofmeasure.org"/> - <code value="fL"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r5"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="785-6"/> - <display value="Erythrocyte mean corpuscular hemoglobin [Entitic mass] by Automated count"/> - </coding> - <text value="Mean Cell Haemoglobin"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="36"/> - <unit value="pg"/> - <system value="http://unitsofmeasure.org"/> - <code value="pg"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="H"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="27"/> - <unit value="pg"/> - <system value="http://unitsofmeasure.org"/> - <code value="pg"/> - </low> - <high> - <value value="35"/> - <unit value="pg"/> - <system value="http://unitsofmeasure.org"/> - <code value="pg"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r6"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="777-3"/> - <display value="Platelets [#/volume] in Blood by Automated count"/> - </coding> - <text value="Platelet Count"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="444"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <referenceRange> - <low> - <value value="150"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="450"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r7"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="6690-2"/> - <display value="Leukocytes [#/volume] in Blood by Automated count"/> - </coding> - <text value="White Cell Count"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="4.6"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <referenceRange> - <low> - <value value="4.0"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="11.0"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r8"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="770-8"/> - <display value="Neutrophils/100 leukocytes in Blood by Automated count"/> - </coding> - <text value="Neutrophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="20"/> - <unit value="%"/> - <system value="http://unitsofmeasure.org"/> - <code value="%"/> - </valueQuantity> - </Observation> - </contained> - <contained> - <Observation> - <id value="r9"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="751-8"/> - <display value="Neutrophils [#/volume] in Blood by Automated count"/> - </coding> - <text value="Neutrophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="0.9"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="LL"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="2.0"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="7.5"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r10"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="736-9"/> - <display value="Lymphocytes/100 leukocytes in Blood by Automated count"/> - </coding> - <text value="Lymphocytes"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="20"/> - <unit value="%"/> - <system value="http://unitsofmeasure.org"/> - <code value="%"/> - </valueQuantity> - </Observation> - </contained> - <contained> - <Observation> - <id value="r11"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="731-0"/> - <display value="Lymphocytes [#/volume] in Blood by Automated count"/> - </coding> - <text value="Lymphocytes"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="0.9"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="L"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="1.1"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="4.0"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r12"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="5905-5"/> - <display value="Monocytes/100 leukocytes in Blood by Automated count"/> - </coding> - <text value="Monocytes"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="20"/> - <unit value="%"/> - <system value="http://unitsofmeasure.org"/> - <code value="%"/> - </valueQuantity> - </Observation> - </contained> - <contained> - <Observation> - <id value="r13"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="742-7"/> - <display value="Monocytes [#/volume] in Blood by Automated count"/> - </coding> - <text value="Monocytes"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="0.9"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <referenceRange> - <low> - <value value="0.2"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="1.0"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r14"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="713-8"/> - <display value="Eosinophils/100 leukocytes in Blood by Automated count"/> - </coding> - <text value="Eosinophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="20"/> - <unit value="%"/> - <system value="http://unitsofmeasure.org"/> - <code value="%"/> - </valueQuantity> - </Observation> - </contained> - <contained> - <Observation> - <id value="r15"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="711-2"/> - <display value="Eosinophils [#/volume] in Blood by Automated count"/> - </coding> - <text value="Eosinophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="0.92"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://hl7.org/fhir/v2/0078"/> - <code value="HH"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="0.04"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </low> - <high> - <value value="0.40"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <contained> - <Observation> - <id value="r16"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="706-2"/> - <display value="Basophils/100 leukocytes in Blood by Automated count"/> - </coding> - <text value="Basophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="20"/> - <unit value="%"/> - <system value="http://unitsofmeasure.org"/> - <code value="%"/> - </valueQuantity> - </Observation> - </contained> - <contained> - <Observation> - <id value="r17"/> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="704-7"/> - <display value="Basophils [#/volume] in Blood by Automated count"/> - </coding> - <text value="Basophils"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <performer> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </performer> - <valueQuantity> - <value value="0.92"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </valueQuantity> - <referenceRange> - <high> - <value value="0.21"/> - <unit value="x10*9/L"/> - <system value="http://unitsofmeasure.org"/> - <code value="10*9/L"/> - </high> - </referenceRange> - </Observation> - </contained> - <identifier> - <system value="http://acme.com/lab/reports"/> - <value value="5234342"/> - </identifier> - <status value="final"/> - <category> - <coding> - <system value="http://hl7.org/fhir/v2/0074"/> - <code value="HM"/> - </coding> - </category> + <id value="r1" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="718-7" /> + <display value="Hemoglobin [Mass/volume] in Blood" /> + </coding> + <text value="Haemoglobin" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="176" /> + <unit value="g/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="g/L" /> + </valueQuantity> + <referenceRange> + <low> + <value value="135" /> + <unit value="g/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="g/L" /> + </low> + <high> + <value value="180" /> + <unit value="g/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="g/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r2" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="789-8" /> + <display value="Erythrocytes [#/volume] in Blood by Automated count" /> + </coding> + <text value="Red Cell Count" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="5.9" /> + <unit value="x10*12/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*12/L" /> + </valueQuantity> + <referenceRange> + <low> + <value value="4.2" /> + <unit value="x10*12/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*12/L" /> + </low> + <high> + <value value="6.0" /> + <unit value="x10*12/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*12/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r3" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="4544-3" /> + <display value="Hematocrit [Volume Fraction] of Blood by Automated count" /> + </coding> + <text value="Haematocrit" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="55" /> + <unit value="%" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="H" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="38" /> + <unit value="%" /> + </low> + <high> + <value value="52" /> + <unit value="%" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r4" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="787-2" /> + <display value="Erythrocyte mean corpuscular volume [Entitic volume] by Automated count" /> + </coding> + <text value="Mean Cell Volume" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="99" /> + <unit value="fL" /> + <system value="http://unitsofmeasure.org" /> + <code value="fL" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="H" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="80" /> + <unit value="fL" /> + <system value="http://unitsofmeasure.org" /> + <code value="fL" /> + </low> + <high> + <value value="98" /> + <unit value="fL" /> + <system value="http://unitsofmeasure.org" /> + <code value="fL" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r5" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="785-6" /> + <display value="Erythrocyte mean corpuscular hemoglobin [Entitic mass] by Automated count" /> + </coding> + <text value="Mean Cell Haemoglobin" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="36" /> + <unit value="pg" /> + <system value="http://unitsofmeasure.org" /> + <code value="pg" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="H" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="27" /> + <unit value="pg" /> + <system value="http://unitsofmeasure.org" /> + <code value="pg" /> + </low> + <high> + <value value="35" /> + <unit value="pg" /> + <system value="http://unitsofmeasure.org" /> + <code value="pg" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r6" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="777-3" /> + <display value="Platelets [#/volume] in Blood by Automated count" /> + </coding> + <text value="Platelet Count" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="444" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <referenceRange> + <low> + <value value="150" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="450" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r7" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="6690-2" /> + <display value="Leukocytes [#/volume] in Blood by Automated count" /> + </coding> + <text value="White Cell Count" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="4.6" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <referenceRange> + <low> + <value value="4.0" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="11.0" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r8" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="770-8" /> + <display value="Neutrophils/100 leukocytes in Blood by Automated count" /> + </coding> + <text value="Neutrophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="20" /> + <unit value="%" /> + <system value="http://unitsofmeasure.org" /> + <code value="%" /> + </valueQuantity> + </Observation> + </contained> + <contained> + <Observation> + <id value="r9" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="751-8" /> + <display value="Neutrophils [#/volume] in Blood by Automated count" /> + </coding> + <text value="Neutrophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="0.9" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="LL" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="2.0" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="7.5" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r10" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="736-9" /> + <display value="Lymphocytes/100 leukocytes in Blood by Automated count" /> + </coding> + <text value="Lymphocytes" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="20" /> + <unit value="%" /> + <system value="http://unitsofmeasure.org" /> + <code value="%" /> + </valueQuantity> + </Observation> + </contained> + <contained> + <Observation> + <id value="r11" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="731-0" /> + <display value="Lymphocytes [#/volume] in Blood by Automated count" /> + </coding> + <text value="Lymphocytes" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="0.9" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="L" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="1.1" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="4.0" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r12" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="5905-5" /> + <display value="Monocytes/100 leukocytes in Blood by Automated count" /> + </coding> + <text value="Monocytes" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="20" /> + <unit value="%" /> + <system value="http://unitsofmeasure.org" /> + <code value="%" /> + </valueQuantity> + </Observation> + </contained> + <contained> + <Observation> + <id value="r13" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="742-7" /> + <display value="Monocytes [#/volume] in Blood by Automated count" /> + </coding> + <text value="Monocytes" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="0.9" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <referenceRange> + <low> + <value value="0.2" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="1.0" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r14" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="713-8" /> + <display value="Eosinophils/100 leukocytes in Blood by Automated count" /> + </coding> + <text value="Eosinophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="20" /> + <unit value="%" /> + <system value="http://unitsofmeasure.org" /> + <code value="%" /> + </valueQuantity> + </Observation> + </contained> + <contained> + <Observation> + <id value="r15" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="711-2" /> + <display value="Eosinophils [#/volume] in Blood by Automated count" /> + </coding> + <text value="Eosinophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="0.92" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://hl7.org/fhir/v2/0078" /> + <code value="HH" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="0.04" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </low> + <high> + <value value="0.40" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <contained> + <Observation> + <id value="r16" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="706-2" /> + <display value="Basophils/100 leukocytes in Blood by Automated count" /> + </coding> + <text value="Basophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="20" /> + <unit value="%" /> + <system value="http://unitsofmeasure.org" /> + <code value="%" /> + </valueQuantity> + </Observation> + </contained> + <contained> + <Observation> + <id value="r17" /> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="704-7" /> + <display value="Basophils [#/volume] in Blood by Automated count" /> + </coding> + <text value="Basophils" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <performer> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </performer> + <valueQuantity> + <value value="0.92" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </valueQuantity> + <referenceRange> + <high> + <value value="0.21" /> + <unit value="x10*9/L" /> + <system value="http://unitsofmeasure.org" /> + <code value="10*9/L" /> + </high> + </referenceRange> + </Observation> + </contained> + <identifier> + <system value="http://acme.com/lab/reports" /> + <value value="5234342" /> + </identifier> + <status value="final" /> + <category> + <coding> + <system value="http://hl7.org/fhir/v2/0074" /> + <code value="HM" /> + </coding> + </category> <!-- first, various administrative/context stuff --> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="58410-2"/> - <display value="Complete blood count (hemogram) panel - Blood by Automated count"/> - </coding> - <coding> - <code value="CBC"/> - <display value="MASTER FULL BLOOD COUNT"/> - </coding> - <text value="Complete Blood Count"/> - </code> - <subject> - <reference value="Patient/pat2"/> - </subject> - <context> - <reference value="Encounter/example"/> - </context> - <effectiveDateTime value="2011-03-04T08:30:00+11:00"/> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="58410-2" /> + <display value="Complete blood count (hemogram) panel - Blood by Automated count" /> + </coding> + <coding> + <code value="CBC" /> + <display value="MASTER FULL BLOOD COUNT" /> + </coding> + <text value="Complete Blood Count" /> + </code> + <subject> + <reference value="Patient/pat2" /> + </subject> + <context> + <reference value="Encounter/example" /> + </context> + <effectiveDateTime value="2011-03-04T08:30:00+11:00" /> <!-- all this report is final --> - <issued value="2011-03-04T11:45:33+11:00"/> - <performer> - <actor> - <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f"/> - <display value="Acme Laboratory, Inc"/> - </actor> - </performer> + <issued value="2011-03-04T11:45:33+11:00" /> + <performer> + <actor> + <reference value="Organization/1832473e-2fe0-452d-abe9-3cdb9879522f" /> + <display value="Acme Laboratory, Inc" /> + </actor> + </performer> <!-- now the atomic results --> - <result> - <reference value="#r1"/> - </result> - <result> - <reference value="#r2"/> - </result> - <result> - <reference value="#r3"/> - </result> - <result> - <reference value="#r4"/> - </result> - <result> - <reference value="#r5"/> - </result> - <result> - <reference value="#r6"/> - </result> - <result> - <reference value="#r7"/> - </result> - <result> - <reference value="#r8"/> - </result> - <result> - <reference value="#r9"/> - </result> - <result> - <reference value="#r10"/> - </result> - <result> - <reference value="#r11"/> - </result> - <result> - <reference value="#r12"/> - </result> - <result> - <reference value="#r13"/> - </result> - <result> - <reference value="#r14"/> - </result> - <result> - <reference value="#r15"/> - </result> - <result> - <reference value="#r16"/> - </result> - <result> - <reference value="#r17"/> - </result> + <result> + <reference value="#r1" /> + </result> + <result> + <reference value="#r2" /> + </result> + <result> + <reference value="#r3" /> + </result> + <result> + <reference value="#r4" /> + </result> + <result> + <reference value="#r5" /> + </result> + <result> + <reference value="#r6" /> + </result> + <result> + <reference value="#r7" /> + </result> + <result> + <reference value="#r8" /> + </result> + <result> + <reference value="#r9" /> + </result> + <result> + <reference value="#r10" /> + </result> + <result> + <reference value="#r11" /> + </result> + <result> + <reference value="#r12" /> + </result> + <result> + <reference value="#r13" /> + </result> + <result> + <reference value="#r14" /> + </result> + <result> + <reference value="#r15" /> + </result> + <result> + <reference value="#r16" /> + </result> + <result> + <reference value="#r17" /> + </result> <!-- finally, here's a pdf representation of the same report. A consuming application could choose to display either the html version above, or the pdf version - they both need to convey the same information --> - <presentedForm> - <contentType value="application/pdf"/> - <language value="en-AU"/> + <presentedForm> + <contentType value="application/pdf" /> + <language value="en-AU" /> <data value="JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nO1aWW8U RxAW2MviXcs32AYfY2OzM4Zp990zr5GiSFFeQCvlIeSJBPIQI8H/f0j3HF01UPbaZn3hYCHVVldVV1V/XX1Mf044EzLh4a8l3p8MP g8U54l1wjLrkpOBtqaIP/+tf3oJZm3hfwZZ+PXP4Pfk00AkHzt8rYIFLWzy5e/Bh7Oa3gx48ov//9F7UTAV/lVuYfr9SfLTeHD81i @@ -1717,7 +1717,7 @@ Basophils x10*9/L 0.92+++ <0.21 IDAwMDAwIG4gCjAwMDAwMDQ5MDUgMDAwMDAgbiAKMDAwMDAyMTc5MyAwMDAwMCBuIAowMDAwMDQxNTI5IDAwMDAwIG4gCjAwMDAwM DIyNTIgMDAwMDAgbiAKMDAwMDAwMjk0OCAwMDAwMCBuIAowMDAwMDAzODMxIDAwMDAwIG4gCjAwMDAwNjcwODggMDAwMDAgbiAKdH JhaWxlcgo8PCAvU2l6ZSAyMSAvUm9vdCAxIDAgUiAvSW5mbyAyIDAgUgovSUQgWzw4RDdGNzc5QTAwQzcwOTc5NTg3MDQyRjA5MkJ - BQjhDNj48OEQ3Rjc3OUEwMEM3MDk3OTU4NzA0MkYwOTJCQUI4QzY+XQo+PgpzdGFydHhyZWYKNjk0ODUKJSVFT0YK"/> - <title value="HTML Report"/> - </presentedForm> -</DiagnosticReport> \ No newline at end of file + BQjhDNj48OEQ3Rjc3OUEwMEM3MDk3OTU4NzA0MkYwOTJCQUI4QzY+XQo+PgpzdGFydHhyZWYKNjk0ODUKJSVFT0YK" /> + <title value="HTML Report" /> + </presentedForm> +</DiagnosticReport> diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json index 5bd2f19c9..4fda02f8a 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/NutritionOrder.json @@ -1,113 +1,113 @@ { - "resourceType": "NutritionOrder", - "id": "NutritionOrder", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: pureeddiet</p><p><b>identifier</b>: 123</p><p><b>status</b>: active</p><p><b>patient</b>: <a>Peter Chalmers</a></p><p><b>encounter</b>: <a>Inpatient</a></p><p><b>dateTime</b>: 17/09/2014</p><p><b>orderer</b>: <a>Dr Adam Careful</a></p><p><b>allergyIntolerance</b>: <a>Cashew Nuts</a></p><p><b>foodPreferenceModifier</b>: Dairy Free <span>(Details : {http://hl7.org/fhir/diet code 'dairy-free' = 'Dairy Free)</span></p><p><b>excludeFoodModifier</b>: Cashew Nut <span>(Details : {SNOMED CT code '227493005' = 'Cashew nuts', given as 'Cashew Nut'})</span></p><blockquote><p><b>oralDiet</b></p><p><b>type</b>: Pureed diet <span>(Details : {SNOMED CT code '226211001' = 'Pureed diet', given as 'Pureed diet'}; {http://goodhealthhospital.org/diet-type-codes code '1010' = '1010', given as 'Pureed diet'})</span></p><p><b>schedule</b>: Starting 10/02/2015, Do 3 per 1 days</p><h3>Textures</h3><table><tr><td>-</td><td><b>Modifier</b></td></tr><tr><td>*</td><td>Pureed <span>(Details : {SNOMED CT code '228055009' = 'Liquidized food', given as 'Liquidized food'})</span></td></tr></table><p><b>fluidConsistencyType</b>: Nectar thick liquids <span>(Details : {SNOMED CT code '439021000124105' = 'Dietary liquid consistency - nectar thick liquid (regime/therapy)', given as 'Dietary liquid consistency - nectar thick liquid'})</span></p></blockquote></div>" - }, - "identifier": [ - { - "system": "http://goodhealthhospital.org/nutrition-requests", - "value": "123" - } - ], - "status": "active", - "patient": { - "reference": "Patient/example", - "display": "Peter Chalmers" - }, - "encounter": { - "reference": "Encounter/example", - "display": "Inpatient" - }, - "dateTime": "2014-09-17", - "orderer": { - "reference": "Practitioner/example", - "display": "Dr Adam Careful" - }, - "allergyIntolerance": [ - { - "reference": "AllergyIntolerance/example", - "display": "Cashew Nuts" - } - ], - "foodPreferenceModifier": [ + "resourceType": "NutritionOrder", + "id": "NutritionOrder", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: pureeddiet</p><p><b>identifier</b>: 123</p><p><b>status</b>: active</p><p><b>patient</b>: <a>Peter Chalmers</a></p><p><b>encounter</b>: <a>Inpatient</a></p><p><b>dateTime</b>: 17/09/2014</p><p><b>orderer</b>: <a>Dr Adam Careful</a></p><p><b>allergyIntolerance</b>: <a>Cashew Nuts</a></p><p><b>foodPreferenceModifier</b>: Dairy Free <span>(Details : {http://hl7.org/fhir/diet code 'dairy-free' = 'Dairy Free)</span></p><p><b>excludeFoodModifier</b>: Cashew Nut <span>(Details : {SNOMED CT code '227493005' = 'Cashew nuts', given as 'Cashew Nut'})</span></p><blockquote><p><b>oralDiet</b></p><p><b>type</b>: Pureed diet <span>(Details : {SNOMED CT code '226211001' = 'Pureed diet', given as 'Pureed diet'}; {http://goodhealthhospital.org/diet-type-codes code '1010' = '1010', given as 'Pureed diet'})</span></p><p><b>schedule</b>: Starting 10/02/2015, Do 3 per 1 days</p><h3>Textures</h3><table><tr><td>-</td><td><b>Modifier</b></td></tr><tr><td>*</td><td>Pureed <span>(Details : {SNOMED CT code '228055009' = 'Liquidized food', given as 'Liquidized food'})</span></td></tr></table><p><b>fluidConsistencyType</b>: Nectar thick liquids <span>(Details : {SNOMED CT code '439021000124105' = 'Dietary liquid consistency - nectar thick liquid (regime/therapy)', given as 'Dietary liquid consistency - nectar thick liquid'})</span></p></blockquote></div>" + }, + "identifier": [ + { + "system": "http://goodhealthhospital.org/nutrition-requests", + "value": "123" + } + ], + "status": "active", + "patient": { + "reference": "Patient/example", + "display": "Peter Chalmers" + }, + "encounter": { + "reference": "Encounter/example", + "display": "Inpatient" + }, + "dateTime": "2014-09-17", + "orderer": { + "reference": "Practitioner/example", + "display": "Dr Adam Careful" + }, + "allergyIntolerance": [ + { + "reference": "AllergyIntolerance/example", + "display": "Cashew Nuts" + } + ], + "foodPreferenceModifier": [ + { + "coding": [ + { + "system": "http://hl7.org/fhir/diet", + "code": "dairy-free" + } + ] + } + ], + "excludeFoodModifier": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "20140730", + "code": "227493005", + "display": "Cashew Nut" + } + ] + } + ], + "oralDiet": { + "type": [ { "coding": [ { - "system": "http://hl7.org/fhir/diet", - "code": "dairy-free" + "system": "http://snomed.info/sct", + "code": "226211001", + "display": "Pureed diet" + }, + { + "system": "http://goodhealthhospital.org/diet-type-codes", + "code": "1010", + "display": "Pureed diet" } - ] + ], + "text": "Pureed diet" } ], - "excludeFoodModifier": [ + "schedule": [ { - "coding": [ - { - "system": "http://snomed.info/sct", - "version": "20140730", - "code": "227493005", - "display": "Cashew Nut" - } - ] + "repeat": { + "boundsPeriod": { + "start": "2015-02-10" + }, + "frequency": 3, + "period": 1, + "periodUnit": "d" + } } ], - "oralDiet": { - "type": [ - { + "texture": [ + { + "modifier": { "coding": [ { "system": "http://snomed.info/sct", - "code": "226211001", - "display": "Pureed diet" - }, - { - "system": "http://goodhealthhospital.org/diet-type-codes", - "code": "1010", - "display": "Pureed diet" + "code": "228055009", + "display": "Liquidized food" } ], - "text": "Pureed diet" - } - ], - "schedule": [ - { - "repeat": { - "boundsPeriod": { - "start": "2015-02-10" - }, - "frequency": 3, - "period": 1, - "periodUnit": "d" - } + "text": "Pureed" } - ], - "texture": [ - { - "modifier": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "228055009", - "display": "Liquidized food" - } - ], - "text": "Pureed" + } + ], + "fluidConsistencyType": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "439021000124105", + "display": "Dietary liquid consistency - nectar thick liquid" } - } - ], - "fluidConsistencyType": [ - { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "439021000124105", - "display": "Dietary liquid consistency - nectar thick liquid" - } - ], - "text": "Nectar thick liquids" - } - ] - } - } \ No newline at end of file + ], + "text": "Nectar thick liquids" + } + ] + } +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json index 547b86232..b05fa95f1 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.json @@ -1,166 +1,166 @@ { - "resourceType": "Questionnaire", - "id": "Questionnaire", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <pre>\n 1.Comorbidity?\n 1.1 Cardial Comorbidity\n 1.1.1 Angina?\n 1.1.2 MI?\n 1.2 Vascular Comorbidity?\n ...\n Histopathology\n Abdominal\n pT category?\n ...\n </pre>\n </div>" - }, - "url": "http://hl7.org/fhir/Questionnaire/3141", - "title": "Cancer Quality Forum Questionnaire 2012", - "status": "draft", - "date": "2012-01", - "subjectType": [ - "Patient" - ], - "item": [ - { - "linkId": "1", - "code": [ - { - "system": "http://example.org/system/code/sections", - "code": "COMORBIDITY" - } - ], - "type": "group", - "item": [ - { - "linkId": "1.1", - "code": [ - { - "system": "http://example.org/system/code/questions", - "code": "COMORB" - } - ], - "prefix": "1", - "type": "choice", - "options": { - "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" - }, - "item": [ - { - "linkId": "1.1.1", - "code": [ - { - "system": "http://example.org/system/code/sections", - "code": "CARDIAL" + "resourceType": "Questionnaire", + "id": "Questionnaire", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <pre>\n 1.Comorbidity?\n 1.1 Cardial Comorbidity\n 1.1.1 Angina?\n 1.1.2 MI?\n 1.2 Vascular Comorbidity?\n ...\n Histopathology\n Abdominal\n pT category?\n ...\n </pre>\n </div>" + }, + "url": "http://hl7.org/fhir/Questionnaire/3141", + "title": "Cancer Quality Forum Questionnaire 2012", + "status": "draft", + "date": "2012-01", + "subjectType": [ + "Patient" + ], + "item": [ + { + "linkId": "1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "COMORBIDITY" + } + ], + "type": "group", + "item": [ + { + "linkId": "1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORB" + } + ], + "prefix": "1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + }, + "item": [ + { + "linkId": "1.1.1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "CARDIAL" + } + ], + "type": "group", + "enableWhen": [ + { + "question": "1.1", + "answerCoding": { + "system": "http://hl7.org/fhir/v2/0136", + "code": "Y" } - ], - "type": "group", - "enableWhen": [ - { - "question": "1.1", - "answerCoding": { - "system": "http://hl7.org/fhir/v2/0136", - "code": "Y" + } + ], + "item": [ + { + "linkId": "1.1.1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORBCAR" } - } - ], - "item": [ - { - "linkId": "1.1.1.1", - "code": [ - { - "system": "http://example.org/system/code/questions", - "code": "COMORBCAR" + ], + "prefix": "1.1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + }, + "item": [ + { + "linkId": "1.1.1.1.1", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMCAR00", + "display": "Angina Pectoris" + }, + { + "system": "http://snomed.info/sct", + "code": "194828000", + "display": "Angina (disorder)" + } + ], + "prefix": "1.1.1", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" } - ], - "prefix": "1.1", - "type": "choice", - "options": { - "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" }, - "item": [ - { - "linkId": "1.1.1.1.1", - "code": [ - { - "system": "http://example.org/system/code/questions", - "code": "COMCAR00", - "display": "Angina Pectoris" - }, - { - "system": "http://snomed.info/sct", - "code": "194828000", - "display": "Angina (disorder)" - } - ], - "prefix": "1.1.1", - "type": "choice", - "options": { - "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" - } - }, - { - "linkId": "1.1.1.1.2", - "code": [ - { - "system": "http://snomed.info/sct", - "code": "22298006", - "display": "Myocardial infarction (disorder)" - } - ], - "prefix": "1.1.2", - "type": "choice", - "options": { - "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" + { + "linkId": "1.1.1.1.2", + "code": [ + { + "system": "http://snomed.info/sct", + "code": "22298006", + "display": "Myocardial infarction (disorder)" } + ], + "prefix": "1.1.2", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" } - ] - }, - { - "linkId": "1.1.1.2", - "code": [ - { - "system": "http://example.org/system/code/questions", - "code": "COMORBVAS" - } - ], - "prefix": "1.2", - "type": "choice", - "options": { - "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" } + ] + }, + { + "linkId": "1.1.1.2", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "COMORBVAS" + } + ], + "prefix": "1.2", + "type": "choice", + "options": { + "reference": "http://hl7.org/fhir/ValueSet/yesnodontknow" } - ] - } - ] - } - ] - }, - { - "linkId": "2", - "code": [ - { - "system": "http://example.org/system/code/sections", - "code": "HISTOPATHOLOGY" - } - ], - "type": "group", - "item": [ - { - "linkId": "2.1", - "code": [ - { - "system": "http://example.org/system/code/sections", - "code": "ABDOMINAL" - } - ], - "type": "group", - "item": [ - { - "linkId": "2.1.2", - "code": [ - { - "system": "http://example.org/system/code/questions", - "code": "STADPT", - "display": "pT category" - } - ], - "type": "choice" - } - ] - } - ] - } - ] - } \ No newline at end of file + } + ] + } + ] + } + ] + }, + { + "linkId": "2", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "HISTOPATHOLOGY" + } + ], + "type": "group", + "item": [ + { + "linkId": "2.1", + "code": [ + { + "system": "http://example.org/system/code/sections", + "code": "ABDOMINAL" + } + ], + "type": "group", + "item": [ + { + "linkId": "2.1.2", + "code": [ + { + "system": "http://example.org/system/code/questions", + "code": "STADPT", + "display": "pT category" + } + ], + "type": "choice" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml index 5da84c398..2ad95055d 100644 --- a/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml +++ b/tests/Integration.Test/data/fhir/3.0.2 STU3/Questionnaire.xml @@ -1,13 +1,13 @@ <Questionnaire xmlns="http://hl7.org/fhir"> - <id value="Questionnaire"/> - <text> - <status value="generated"/> + <id value="Questionnaire" /> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - <pre> - <b> Birth details - To be completed by health professional</b> + <pre> + <b> Birth details - To be completed by health professional</b> Name of child: ____________________________________ Sex: __ - + Neonatal Information Birth Weight (kg): ___________ Birth Length (cm): ___________ @@ -18,116 +18,116 @@ Date given : ___________ Abnormalities noted at birth: _______________________________________________ - </pre> - </div> - </text> - <url value="http://hl7.org/fhir/Questionnaire/bb"/> - <title value="NSW Government My Personal Health Record"/> - <status value="draft"/> - <date value="2013-02-19"/> - <publisher value="New South Wales Department of Health"/> - <jurisdiction> - <coding> - <system value="urn:iso:std:iso:3166"/> - <code value="AU"/> - </coding> - </jurisdiction> - <subjectType value="Patient"/> - <item> - <linkId value="birthDetails"/> - <text value="Birth details - To be completed by health professional"/> - <type value="group"/> - <item> - <linkId value="group"/> - <type value="group"/> - <item> - <linkId value="nameOfChild"/> - <text value="Name of child"/> - <type value="string"/> - </item> - <item> - <linkId value="sex"/> - <text value="Sex"/> - <type value="choice"/> - <option> - <valueCoding> - <code value="F"/> - </valueCoding> - </option> - <option> - <valueCoding> - <code value="M"/> - </valueCoding> - </option> - </item> - </item> - <item> - <linkId value="neonatalInformation"/> - <text value="Neonatal Information"/> - <type value="group"/> - <item> - <linkId value="birthWeight"/> - <text value="Birth weight (kg)"/> - <type value="decimal"/> - </item> - <item> - <linkId value="birthLength"/> - <text value="Birth length (cm)"/> - <type value="decimal"/> - </item> - <item> - <linkId value="vitaminKgiven"/> - <text value="Vitamin K given"/> - <type value="choice"/> - <option> - <valueCoding> - <code value="INJECTION"/> - </valueCoding> - </option> - <option> - <valueCoding> - <code value="INTRAVENOUS"/> - </valueCoding> - </option> - <option> - <valueCoding> - <code value="ORAL"/> - </valueCoding> - </option> - <item> - <linkId value="vitaminKgivenDoses"/> - <type value="group"/> - <enableWhen> - <question value="vitaminKgiven"/> - <hasAnswer value="true"/> - </enableWhen> - <item> - <linkId value="vitaminiKDose1"/> - <text value="1st dose"/> - <type value="dateTime"/> - </item> - <item> - <linkId value="vitaminiKDose2"/> - <text value="2nd dose"/> - <type value="dateTime"/> - </item> - </item> - </item> - <item> - <linkId value="hepBgiven"/> - <text value="Hep B given y / n"/> - <type value="boolean"/> - <item> - <linkId value="hepBgivenDate"/> - <text value="Date given"/> - <type value="date"/> - </item> - </item> - <item> - <linkId value="abnormalitiesAtBirth"/> - <text value="Abnormalities noted at birth"/> - <type value="string"/> - </item> - </item> - </item> - </Questionnaire> \ No newline at end of file + </pre> + </div> + </text> + <url value="http://hl7.org/fhir/Questionnaire/bb" /> + <title value="NSW Government My Personal Health Record" /> + <status value="draft" /> + <date value="2013-02-19" /> + <publisher value="New South Wales Department of Health" /> + <jurisdiction> + <coding> + <system value="urn:iso:std:iso:3166" /> + <code value="AU" /> + </coding> + </jurisdiction> + <subjectType value="Patient" /> + <item> + <linkId value="birthDetails" /> + <text value="Birth details - To be completed by health professional" /> + <type value="group" /> + <item> + <linkId value="group" /> + <type value="group" /> + <item> + <linkId value="nameOfChild" /> + <text value="Name of child" /> + <type value="string" /> + </item> + <item> + <linkId value="sex" /> + <text value="Sex" /> + <type value="choice" /> + <option> + <valueCoding> + <code value="F" /> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="M" /> + </valueCoding> + </option> + </item> + </item> + <item> + <linkId value="neonatalInformation" /> + <text value="Neonatal Information" /> + <type value="group" /> + <item> + <linkId value="birthWeight" /> + <text value="Birth weight (kg)" /> + <type value="decimal" /> + </item> + <item> + <linkId value="birthLength" /> + <text value="Birth length (cm)" /> + <type value="decimal" /> + </item> + <item> + <linkId value="vitaminKgiven" /> + <text value="Vitamin K given" /> + <type value="choice" /> + <option> + <valueCoding> + <code value="INJECTION" /> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="INTRAVENOUS" /> + </valueCoding> + </option> + <option> + <valueCoding> + <code value="ORAL" /> + </valueCoding> + </option> + <item> + <linkId value="vitaminKgivenDoses" /> + <type value="group" /> + <enableWhen> + <question value="vitaminKgiven" /> + <hasAnswer value="true" /> + </enableWhen> + <item> + <linkId value="vitaminiKDose1" /> + <text value="1st dose" /> + <type value="dateTime" /> + </item> + <item> + <linkId value="vitaminiKDose2" /> + <text value="2nd dose" /> + <type value="dateTime" /> + </item> + </item> + </item> + <item> + <linkId value="hepBgiven" /> + <text value="Hep B given y / n" /> + <type value="boolean" /> + <item> + <linkId value="hepBgivenDate" /> + <text value="Date given" /> + <type value="date" /> + </item> + </item> + <item> + <linkId value="abnormalitiesAtBirth" /> + <text value="Abnormalities noted at birth" /> + <type value="string" /> + </item> + </item> + </item> + </Questionnaire> diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json index 96f45436d..b326e9a56 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.json @@ -1,166 +1,166 @@ { - "resourceType": "CodeSystem", - "id": "CodeSystem", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <h2>NHIN PurposeOfUse</h2>\n <div>\n <p>This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.</p>\n\n </div>\n <p>This code system http://healthit.gov/nhin/purposeofuse defines the following codes:</p>\n <table class=\"codes\">\n <tr>\n <td style=\"white-space:nowrap\">\n <b>Code</b>\n </td>\n <td>\n <b>Display</b>\n </td>\n <td>\n <b>Definition</b>\n </td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TREATMENT\n <a name=\"nhin-purposeofuse-TREATMENT\"> </a>\n </td>\n <td>Treatment</td>\n <td>Treatment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PAYMENT\n <a name=\"nhin-purposeofuse-PAYMENT\"> </a>\n </td>\n <td>Payment</td>\n <td>Payment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OPERATIONS\n <a name=\"nhin-purposeofuse-OPERATIONS\"> </a>\n </td>\n <td>Operations</td>\n <td>Healthcare Operations</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">SYSADMIN\n <a name=\"nhin-purposeofuse-SYSADMIN\"> </a>\n </td>\n <td>Sysadmin</td>\n <td>System Administration</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FRAUD\n <a name=\"nhin-purposeofuse-FRAUD\"> </a>\n </td>\n <td>Fraud</td>\n <td>Fraud detection</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PSYCHOTHERAPY\n <a name=\"nhin-purposeofuse-PSYCHOTHERAPY\"> </a>\n </td>\n <td>Psychotherapy</td>\n <td>Use or disclosure of Psychotherapy Notes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TRAINING\n <a name=\"nhin-purposeofuse-TRAINING\"> </a>\n </td>\n <td>Training</td>\n <td>Use or disclosure by the covered entity for its own training programs</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LEGAL\n <a name=\"nhin-purposeofuse-LEGAL\"> </a>\n </td>\n <td>Legal</td>\n <td>Use or disclosure by the covered entity to defend itself in a legal action</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">MARKETING\n <a name=\"nhin-purposeofuse-MARKETING\"> </a>\n </td>\n <td>Marketing</td>\n <td>Marketing</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DIRECTORY\n <a name=\"nhin-purposeofuse-DIRECTORY\"> </a>\n </td>\n <td>Directory</td>\n <td>Use and disclosure for facility directories</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FAMILY\n <a name=\"nhin-purposeofuse-FAMILY\"> </a>\n </td>\n <td>Family</td>\n <td>Disclose to a family member, other relative, or a close personal friend of the individual</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PRESENT\n <a name=\"nhin-purposeofuse-PRESENT\"> </a>\n </td>\n <td>Present</td>\n <td>Uses and disclosures with the individual present.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">EMERGENCY\n <a name=\"nhin-purposeofuse-EMERGENCY\"> </a>\n </td>\n <td>Emergency</td>\n <td>Permission cannot practicably be provided because of the individual's incapacity or an emergency.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DISASTER\n <a name=\"nhin-purposeofuse-DISASTER\"> </a>\n </td>\n <td>Disaster</td>\n <td>Use and disclosures for disaster relief purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PUBLICHEALTH\n <a name=\"nhin-purposeofuse-PUBLICHEALTH\"> </a>\n </td>\n <td>Public Health</td>\n <td>Uses and disclosures for public health activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">ABUSE\n <a name=\"nhin-purposeofuse-ABUSE\"> </a>\n </td>\n <td>Abuse</td>\n <td>Disclosures about victims of abuse, neglect or domestic violence.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OVERSIGHT\n <a name=\"nhin-purposeofuse-OVERSIGHT\"> </a>\n </td>\n <td>Oversight</td>\n <td>Uses and disclosures for health oversight activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">JUDICIAL\n <a name=\"nhin-purposeofuse-JUDICIAL\"> </a>\n </td>\n <td>Judicial</td>\n <td>Disclosures for judicial and administrative proceedings.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LAW\n <a name=\"nhin-purposeofuse-LAW\"> </a>\n </td>\n <td>Law Enforcement</td>\n <td>Disclosures for law enforcement purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DECEASED\n <a name=\"nhin-purposeofuse-DECEASED\"> </a>\n </td>\n <td>Deceased</td>\n <td>Uses and disclosures about decedents.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DONATION\n <a name=\"nhin-purposeofuse-DONATION\"> </a>\n </td>\n <td>Donation</td>\n <td>Uses and disclosures for cadaveric organ, eye or tissue donation purposes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">RESEARCH\n <a name=\"nhin-purposeofuse-RESEARCH\"> </a>\n </td>\n <td>Research</td>\n <td>Uses and disclosures for research purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">THREAT\n <a name=\"nhin-purposeofuse-THREAT\"> </a>\n </td>\n <td>Threat</td>\n <td>Uses and disclosures to avert a serious threat to health or safety.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">GOVERNMENT\n <a name=\"nhin-purposeofuse-GOVERNMENT\"> </a>\n </td>\n <td>Government</td>\n <td>Uses and disclosures for specialized government functions.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">WORKERSCOMP\n <a name=\"nhin-purposeofuse-WORKERSCOMP\"> </a>\n </td>\n <td>Worker's Comp</td>\n <td>Disclosures for workers' compensation.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">COVERAGE\n <a name=\"nhin-purposeofuse-COVERAGE\"> </a>\n </td>\n <td>Coverage</td>\n <td>Disclosures for insurance or disability coverage determination</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">REQUEST\n <a name=\"nhin-purposeofuse-REQUEST\"> </a>\n </td>\n <td>Request</td>\n <td>Request of the Individual</td>\n </tr>\n </table>\n </div>" - }, - "url": "http://healthit.gov/nhin/purposeofuse", - "version": "2.0", - "name": "NHIN PurposeOfUse", - "status": "active", - "experimental": false, - "date": "2010-01-29", - "publisher": "Nationwide Health Information Network (NHIN)", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "https://www.healthit.gov/sites/default/files/nhin-authorization-framework-production-specification-v2.0-1.pdf" - } - ] - } - ], - "description": "This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.", - "caseSensitive": true, - "valueSet": "http://hl7.org/fhir/ValueSet/nhin-purposeofuse", - "content": "complete", - "concept": [ - { - "code": "TREATMENT", - "display": "Treatment", - "definition": "Treatment" - }, - { - "code": "PAYMENT", - "display": "Payment", - "definition": "Payment" - }, - { - "code": "OPERATIONS", - "display": "Operations", - "definition": "Healthcare Operations" - }, - { - "code": "SYSADMIN", - "display": "Sysadmin", - "definition": "System Administration" - }, - { - "code": "FRAUD", - "display": "Fraud", - "definition": "Fraud detection" - }, - { - "code": "PSYCHOTHERAPY", - "display": "Psychotherapy", - "definition": "Use or disclosure of Psychotherapy Notes" - }, - { - "code": "TRAINING", - "display": "Training", - "definition": "Use or disclosure by the covered entity for its own training programs" - }, - { - "code": "LEGAL", - "display": "Legal", - "definition": "Use or disclosure by the covered entity to defend itself in a legal action" - }, - { - "code": "MARKETING", - "display": "Marketing", - "definition": "Marketing" - }, - { - "code": "DIRECTORY", - "display": "Directory", - "definition": "Use and disclosure for facility directories" - }, - { - "code": "FAMILY", - "display": "Family", - "definition": "Disclose to a family member, other relative, or a close personal friend of the individual" - }, - { - "code": "PRESENT", - "display": "Present", - "definition": "Uses and disclosures with the individual present." - }, - { - "code": "EMERGENCY", - "display": "Emergency", - "definition": "Permission cannot practicably be provided because of the individual's incapacity or an emergency." - }, - { - "code": "DISASTER", - "display": "Disaster", - "definition": "Use and disclosures for disaster relief purposes." - }, - { - "code": "PUBLICHEALTH", - "display": "Public Health", - "definition": "Uses and disclosures for public health activities." - }, - { - "code": "ABUSE", - "display": "Abuse", - "definition": "Disclosures about victims of abuse, neglect or domestic violence." - }, - { - "code": "OVERSIGHT", - "display": "Oversight", - "definition": "Uses and disclosures for health oversight activities." - }, - { - "code": "JUDICIAL", - "display": "Judicial", - "definition": "Disclosures for judicial and administrative proceedings." - }, - { - "code": "LAW", - "display": "Law Enforcement", - "definition": "Disclosures for law enforcement purposes." - }, - { - "code": "DECEASED", - "display": "Deceased", - "definition": "Uses and disclosures about decedents." - }, - { - "code": "DONATION", - "display": "Donation", - "definition": "Uses and disclosures for cadaveric organ, eye or tissue donation purposes" - }, - { - "code": "RESEARCH", - "display": "Research", - "definition": "Uses and disclosures for research purposes." - }, - { - "code": "THREAT", - "display": "Threat", - "definition": "Uses and disclosures to avert a serious threat to health or safety." - }, - { - "code": "GOVERNMENT", - "display": "Government", - "definition": "Uses and disclosures for specialized government functions." - }, - { - "code": "WORKERSCOMP", - "display": "Worker's Comp", - "definition": "Disclosures for workers' compensation." - }, - { - "code": "COVERAGE", - "display": "Coverage", - "definition": "Disclosures for insurance or disability coverage determination" - }, - { - "code": "REQUEST", - "display": "Request", - "definition": "Request of the Individual" - } - ] - } \ No newline at end of file + "resourceType": "CodeSystem", + "id": "CodeSystem", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <h2>NHIN PurposeOfUse</h2>\n <div>\n <p>This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.</p>\n\n </div>\n <p>This code system http://healthit.gov/nhin/purposeofuse defines the following codes:</p>\n <table class=\"codes\">\n <tr>\n <td style=\"white-space:nowrap\">\n <b>Code</b>\n </td>\n <td>\n <b>Display</b>\n </td>\n <td>\n <b>Definition</b>\n </td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TREATMENT\n <a name=\"nhin-purposeofuse-TREATMENT\"> </a>\n </td>\n <td>Treatment</td>\n <td>Treatment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PAYMENT\n <a name=\"nhin-purposeofuse-PAYMENT\"> </a>\n </td>\n <td>Payment</td>\n <td>Payment</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OPERATIONS\n <a name=\"nhin-purposeofuse-OPERATIONS\"> </a>\n </td>\n <td>Operations</td>\n <td>Healthcare Operations</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">SYSADMIN\n <a name=\"nhin-purposeofuse-SYSADMIN\"> </a>\n </td>\n <td>Sysadmin</td>\n <td>System Administration</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FRAUD\n <a name=\"nhin-purposeofuse-FRAUD\"> </a>\n </td>\n <td>Fraud</td>\n <td>Fraud detection</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PSYCHOTHERAPY\n <a name=\"nhin-purposeofuse-PSYCHOTHERAPY\"> </a>\n </td>\n <td>Psychotherapy</td>\n <td>Use or disclosure of Psychotherapy Notes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">TRAINING\n <a name=\"nhin-purposeofuse-TRAINING\"> </a>\n </td>\n <td>Training</td>\n <td>Use or disclosure by the covered entity for its own training programs</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LEGAL\n <a name=\"nhin-purposeofuse-LEGAL\"> </a>\n </td>\n <td>Legal</td>\n <td>Use or disclosure by the covered entity to defend itself in a legal action</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">MARKETING\n <a name=\"nhin-purposeofuse-MARKETING\"> </a>\n </td>\n <td>Marketing</td>\n <td>Marketing</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DIRECTORY\n <a name=\"nhin-purposeofuse-DIRECTORY\"> </a>\n </td>\n <td>Directory</td>\n <td>Use and disclosure for facility directories</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">FAMILY\n <a name=\"nhin-purposeofuse-FAMILY\"> </a>\n </td>\n <td>Family</td>\n <td>Disclose to a family member, other relative, or a close personal friend of the individual</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PRESENT\n <a name=\"nhin-purposeofuse-PRESENT\"> </a>\n </td>\n <td>Present</td>\n <td>Uses and disclosures with the individual present.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">EMERGENCY\n <a name=\"nhin-purposeofuse-EMERGENCY\"> </a>\n </td>\n <td>Emergency</td>\n <td>Permission cannot practicably be provided because of the individual's incapacity or an emergency.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DISASTER\n <a name=\"nhin-purposeofuse-DISASTER\"> </a>\n </td>\n <td>Disaster</td>\n <td>Use and disclosures for disaster relief purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">PUBLICHEALTH\n <a name=\"nhin-purposeofuse-PUBLICHEALTH\"> </a>\n </td>\n <td>Public Health</td>\n <td>Uses and disclosures for public health activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">ABUSE\n <a name=\"nhin-purposeofuse-ABUSE\"> </a>\n </td>\n <td>Abuse</td>\n <td>Disclosures about victims of abuse, neglect or domestic violence.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">OVERSIGHT\n <a name=\"nhin-purposeofuse-OVERSIGHT\"> </a>\n </td>\n <td>Oversight</td>\n <td>Uses and disclosures for health oversight activities.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">JUDICIAL\n <a name=\"nhin-purposeofuse-JUDICIAL\"> </a>\n </td>\n <td>Judicial</td>\n <td>Disclosures for judicial and administrative proceedings.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">LAW\n <a name=\"nhin-purposeofuse-LAW\"> </a>\n </td>\n <td>Law Enforcement</td>\n <td>Disclosures for law enforcement purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DECEASED\n <a name=\"nhin-purposeofuse-DECEASED\"> </a>\n </td>\n <td>Deceased</td>\n <td>Uses and disclosures about decedents.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">DONATION\n <a name=\"nhin-purposeofuse-DONATION\"> </a>\n </td>\n <td>Donation</td>\n <td>Uses and disclosures for cadaveric organ, eye or tissue donation purposes</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">RESEARCH\n <a name=\"nhin-purposeofuse-RESEARCH\"> </a>\n </td>\n <td>Research</td>\n <td>Uses and disclosures for research purposes.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">THREAT\n <a name=\"nhin-purposeofuse-THREAT\"> </a>\n </td>\n <td>Threat</td>\n <td>Uses and disclosures to avert a serious threat to health or safety.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">GOVERNMENT\n <a name=\"nhin-purposeofuse-GOVERNMENT\"> </a>\n </td>\n <td>Government</td>\n <td>Uses and disclosures for specialized government functions.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">WORKERSCOMP\n <a name=\"nhin-purposeofuse-WORKERSCOMP\"> </a>\n </td>\n <td>Worker's Comp</td>\n <td>Disclosures for workers' compensation.</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">COVERAGE\n <a name=\"nhin-purposeofuse-COVERAGE\"> </a>\n </td>\n <td>Coverage</td>\n <td>Disclosures for insurance or disability coverage determination</td>\n </tr>\n <tr>\n <td style=\"white-space:nowrap\">REQUEST\n <a name=\"nhin-purposeofuse-REQUEST\"> </a>\n </td>\n <td>Request</td>\n <td>Request of the Individual</td>\n </tr>\n </table>\n </div>" + }, + "url": "http://healthit.gov/nhin/purposeofuse", + "version": "2.0", + "name": "NHIN PurposeOfUse", + "status": "active", + "experimental": false, + "date": "2010-01-29", + "publisher": "Nationwide Health Information Network (NHIN)", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "https://www.healthit.gov/sites/default/files/nhin-authorization-framework-production-specification-v2.0-1.pdf" + } + ] + } + ], + "description": "This value set is suitable for use with the provenance resource. It is derived from, but not compatible with, the HL7 v3 Purpose of use Code system.", + "caseSensitive": true, + "valueSet": "http://hl7.org/fhir/ValueSet/nhin-purposeofuse", + "content": "complete", + "concept": [ + { + "code": "TREATMENT", + "display": "Treatment", + "definition": "Treatment" + }, + { + "code": "PAYMENT", + "display": "Payment", + "definition": "Payment" + }, + { + "code": "OPERATIONS", + "display": "Operations", + "definition": "Healthcare Operations" + }, + { + "code": "SYSADMIN", + "display": "Sysadmin", + "definition": "System Administration" + }, + { + "code": "FRAUD", + "display": "Fraud", + "definition": "Fraud detection" + }, + { + "code": "PSYCHOTHERAPY", + "display": "Psychotherapy", + "definition": "Use or disclosure of Psychotherapy Notes" + }, + { + "code": "TRAINING", + "display": "Training", + "definition": "Use or disclosure by the covered entity for its own training programs" + }, + { + "code": "LEGAL", + "display": "Legal", + "definition": "Use or disclosure by the covered entity to defend itself in a legal action" + }, + { + "code": "MARKETING", + "display": "Marketing", + "definition": "Marketing" + }, + { + "code": "DIRECTORY", + "display": "Directory", + "definition": "Use and disclosure for facility directories" + }, + { + "code": "FAMILY", + "display": "Family", + "definition": "Disclose to a family member, other relative, or a close personal friend of the individual" + }, + { + "code": "PRESENT", + "display": "Present", + "definition": "Uses and disclosures with the individual present." + }, + { + "code": "EMERGENCY", + "display": "Emergency", + "definition": "Permission cannot practicably be provided because of the individual's incapacity or an emergency." + }, + { + "code": "DISASTER", + "display": "Disaster", + "definition": "Use and disclosures for disaster relief purposes." + }, + { + "code": "PUBLICHEALTH", + "display": "Public Health", + "definition": "Uses and disclosures for public health activities." + }, + { + "code": "ABUSE", + "display": "Abuse", + "definition": "Disclosures about victims of abuse, neglect or domestic violence." + }, + { + "code": "OVERSIGHT", + "display": "Oversight", + "definition": "Uses and disclosures for health oversight activities." + }, + { + "code": "JUDICIAL", + "display": "Judicial", + "definition": "Disclosures for judicial and administrative proceedings." + }, + { + "code": "LAW", + "display": "Law Enforcement", + "definition": "Disclosures for law enforcement purposes." + }, + { + "code": "DECEASED", + "display": "Deceased", + "definition": "Uses and disclosures about decedents." + }, + { + "code": "DONATION", + "display": "Donation", + "definition": "Uses and disclosures for cadaveric organ, eye or tissue donation purposes" + }, + { + "code": "RESEARCH", + "display": "Research", + "definition": "Uses and disclosures for research purposes." + }, + { + "code": "THREAT", + "display": "Threat", + "definition": "Uses and disclosures to avert a serious threat to health or safety." + }, + { + "code": "GOVERNMENT", + "display": "Government", + "definition": "Uses and disclosures for specialized government functions." + }, + { + "code": "WORKERSCOMP", + "display": "Worker's Comp", + "definition": "Disclosures for workers' compensation." + }, + { + "code": "COVERAGE", + "display": "Coverage", + "definition": "Disclosures for insurance or disability coverage determination" + }, + { + "code": "REQUEST", + "display": "Request", + "definition": "Request of the Individual" + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml index adc543450..8445f01e9 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/CodeSystem.xml @@ -1,53 +1,52 @@ <?xml version="1.0" encoding="UTF-8"?> <CodeSystem xmlns="http://hl7.org/fhir"> - <id value="CodeSystem"/> - <text> - <status value="generated"/> + <id value="CodeSystem" /> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - <h2> Code system summary example for ACME body sites</h2> - <div> - <p> This is an example code system summary for the ACME codes for body site.</p> - - </div> + <h2> Code system summary example for ACME body sites</h2> + <div> + <p> This is an example code system summary for the ACME codes for body site.</p> + </div> <p> This code system http://hl7.org/fhir/CodeSystem/summary defines many codes, but they are - not represented here</p> - </div> - </text> - <url value="http://hl7.org/fhir/CodeSystem/summary"/> - <version value="4.0.1"/> - <name value="Code system summary example for ACME body sites"/> - <status value="draft"/> - <experimental value="true"/> - <publisher value="HL7 International"/> - <contact> - <name value="FHIR project team"/> - <telecom> - <system value="url"/> - <value value="http://hl7.org/fhir"/> - </telecom> - </contact> - <description value="This is an example code system summary for the ACME codes for body site."/> - <useContext> - <code> - <system value="http://example.org/CodeSystem/contexttype"/> - <code value="species"/> - </code> - <valueCodeableConcept> - <coding> - <system value="http://snomed.info/sct"/> - <code value="337915000"/> - <display value="Homo sapiens (organism)"/> - </coding> - </valueCodeableConcept> - </useContext> - <jurisdiction> - <coding> - <system value="urn:iso:std:iso:3166"/> - <code value="CA"/> - </coding> - </jurisdiction> - <caseSensitive value="true"/> - <content value="not-present"/> - <count value="92"/> -</CodeSystem> \ No newline at end of file + not represented here</p> + </div> + </text> + <url value="http://hl7.org/fhir/CodeSystem/summary" /> + <version value="4.0.1" /> + <name value="Code system summary example for ACME body sites" /> + <status value="draft" /> + <experimental value="true" /> + <publisher value="HL7 International" /> + <contact> + <name value="FHIR project team" /> + <telecom> + <system value="url" /> + <value value="http://hl7.org/fhir" /> + </telecom> + </contact> + <description value="This is an example code system summary for the ACME codes for body site." /> + <useContext> + <code> + <system value="http://example.org/CodeSystem/contexttype" /> + <code value="species" /> + </code> + <valueCodeableConcept> + <coding> + <system value="http://snomed.info/sct" /> + <code value="337915000" /> + <display value="Homo sapiens (organism)" /> + </coding> + </valueCodeableConcept> + </useContext> + <jurisdiction> + <coding> + <system value="urn:iso:std:iso:3166" /> + <code value="CA" /> + </coding> + </jurisdiction> + <caseSensitive value="true" /> + <content value="not-present" /> + <count value="92" /> +</CodeSystem> diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json index ea36425a2..a7452e1c5 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.json @@ -1,120 +1,120 @@ { - "resourceType": "Observation", - "id": "Observation", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/vitalsigns" + "resourceType": "Observation", + "id": "Observation", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/vitalsigns" + ] + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: blood-pressure-dar</p><p><b>meta</b>: </p><p><b>identifier</b>: urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281</p><p><b>status</b>: final</p><p><b>category</b>: Vital Signs <span>(Details : {http://terminology.hl7.org/CodeSystem/observation-category code 'vital-signs' = 'Vital Signs', given as 'Vital Signs'})</span></p><p><b>code</b>: Blood pressure systolic & diastolic <span>(Details : {LOINC code '85354-9' = 'Blood pressure panel with all children optional', given as 'Blood pressure panel with all children optional'})</span></p><p><b>subject</b>: <a>Patient/example</a></p><p><b>effective</b>: 17/09/2012</p><p><b>performer</b>: <a>Practitioner/example</a></p><p><b>interpretation</b>: Below low normal <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation code 'L' = 'Low', given as 'low'})</span></p><p><b>bodySite</b>: Right arm <span>(Details : {SNOMED CT code '368209003' = 'Right upper arm', given as 'Right arm'})</span></p><blockquote><p><b>component</b></p><p><b>code</b>: Systolic blood pressure <span>(Details : {LOINC code '8480-6' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {SNOMED CT code '271649006' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {http://acme.org/devices/clinical-codes code 'bp-s' = 'bp-s', given as 'Systolic Blood pressure'})</span></p><p><b>value</b>: 107 mmHg<span> (Details: UCUM code mm[Hg] = 'mmHg')</span></p></blockquote><blockquote><p><b>component</b></p><p><b>code</b>: Diastolic blood pressure <span>(Details : {LOINC code '8462-4' = 'Diastolic blood pressure', given as 'Diastolic blood pressure'})</span></p><p><b>dataAbsentReason</b>: Not Performed <span>(Details : {http://terminology.hl7.org/CodeSystem/data-absent-reason code 'not-performed' = 'Not Performed', given as 'Not Performed'})</span></p></blockquote></div>" + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281" + } + ], + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs", + "display": "Vital Signs" + } ] - }, - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: blood-pressure-dar</p><p><b>meta</b>: </p><p><b>identifier</b>: urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281</p><p><b>status</b>: final</p><p><b>category</b>: Vital Signs <span>(Details : {http://terminology.hl7.org/CodeSystem/observation-category code 'vital-signs' = 'Vital Signs', given as 'Vital Signs'})</span></p><p><b>code</b>: Blood pressure systolic & diastolic <span>(Details : {LOINC code '85354-9' = 'Blood pressure panel with all children optional', given as 'Blood pressure panel with all children optional'})</span></p><p><b>subject</b>: <a>Patient/example</a></p><p><b>effective</b>: 17/09/2012</p><p><b>performer</b>: <a>Practitioner/example</a></p><p><b>interpretation</b>: Below low normal <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation code 'L' = 'Low', given as 'low'})</span></p><p><b>bodySite</b>: Right arm <span>(Details : {SNOMED CT code '368209003' = 'Right upper arm', given as 'Right arm'})</span></p><blockquote><p><b>component</b></p><p><b>code</b>: Systolic blood pressure <span>(Details : {LOINC code '8480-6' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {SNOMED CT code '271649006' = 'Systolic blood pressure', given as 'Systolic blood pressure'}; {http://acme.org/devices/clinical-codes code 'bp-s' = 'bp-s', given as 'Systolic Blood pressure'})</span></p><p><b>value</b>: 107 mmHg<span> (Details: UCUM code mm[Hg] = 'mmHg')</span></p></blockquote><blockquote><p><b>component</b></p><p><b>code</b>: Diastolic blood pressure <span>(Details : {LOINC code '8462-4' = 'Diastolic blood pressure', given as 'Diastolic blood pressure'})</span></p><p><b>dataAbsentReason</b>: Not Performed <span>(Details : {http://terminology.hl7.org/CodeSystem/data-absent-reason code 'not-performed' = 'Not Performed', given as 'Not Performed'})</span></p></blockquote></div>" - }, - "identifier": [ + } + ], + "code": { + "coding": [ { - "system": "urn:ietf:rfc:3986", - "value": "urn:uuid:187e0c12-8dd2-67e2-99b2-bf273c878281" - } - ], - "status": "final", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs", - "display": "Vital Signs" - } - ] + "system": "http://loinc.org", + "code": "85354-9", + "display": "Blood pressure panel with all children optional" } ], - "code": { + "text": "Blood pressure systolic & diastolic" + }, + "subject": { + "reference": "Patient/example" + }, + "effectiveDateTime": "2012-09-17", + "performer": [ + { + "reference": "Practitioner/example" + } + ], + "interpretation": [ + { "coding": [ { - "system": "http://loinc.org", - "code": "85354-9", - "display": "Blood pressure panel with all children optional" + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code": "L", + "display": "low" } ], - "text": "Blood pressure systolic & diastolic" - }, - "subject": { - "reference": "Patient/example" - }, - "effectiveDateTime": "2012-09-17", - "performer": [ + "text": "Below low normal" + } + ], + "bodySite": { + "coding": [ { - "reference": "Practitioner/example" + "system": "http://snomed.info/sct", + "code": "368209003", + "display": "Right arm" } - ], - "interpretation": [ - { + ] + }, + "component": [ + { + "code": { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", - "code": "L", - "display": "low" + "system": "http://loinc.org", + "code": "8480-6", + "display": "Systolic blood pressure" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006", + "display": "Systolic blood pressure" + }, + { + "system": "http://acme.org/devices/clinical-codes", + "code": "bp-s", + "display": "Systolic Blood pressure" } - ], - "text": "Below low normal" + ] + }, + "valueQuantity": { + "value": 107, + "unit": "mmHg", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]" } - ], - "bodySite": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "368209003", - "display": "Right arm" - } - ] }, - "component": [ - { - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8480-6", - "display": "Systolic blood pressure" - }, - { - "system": "http://snomed.info/sct", - "code": "271649006", - "display": "Systolic blood pressure" - }, - { - "system": "http://acme.org/devices/clinical-codes", - "code": "bp-s", - "display": "Systolic Blood pressure" - } - ] - }, - "valueQuantity": { - "value": 107, - "unit": "mmHg", - "system": "http://unitsofmeasure.org", - "code": "mm[Hg]" - } + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4", + "display": "Diastolic blood pressure" + } + ] }, - { - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8462-4", - "display": "Diastolic blood pressure" - } - ] - }, - "dataAbsentReason": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "code": "not-performed", - "display": "Not Performed" - } - ] - } + "dataAbsentReason": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-performed", + "display": "Not Performed" + } + ] } - ] - } \ No newline at end of file + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml index 0622aaf14..a210cf9ae 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Observation.xml @@ -1,42 +1,42 @@ <?xml version="1.0" encoding="UTF-8"?> <Observation xmlns="http://hl7.org/fhir"> - <id value="Observation"/> - <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative with Details</b> </p> <p> <b> id</b> : 656</p> <p> <b> identifier</b> : patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820</p> <p> <b> status</b> : final</p> <p> <b> code</b> : MDC_FLOW_AWAY_EXP_FORCED_PEAK <span> (Details : {urn:iso:std:iso:11073:10101 code '152584' = '152584', given as 'MDC_FLOW_AWAY_EXP_FORCED - _PEAK'})</span> </p> <p> <b> subject</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> effective</b> : 03/05/2017 3:54:26 PM</p> <p> <b> performer</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> value</b> : 820 cL/s<span> (Details: urn:iso:std:iso:11073:10101 code 265201 = '265201')</span> </p> </div> </text> <identifier> - <value value="patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820"/> - </identifier> - <status value="final"/> - <code> - <coding> - <system value="urn:iso:std:iso:11073:10101"/> - <code value="152584"/> - <display value="MDC_FLOW_AWAY_EXP_FORCED_PEAK"/> - </coding> - </code> - <subject> - <reference value="Patient/PatientId-patientId"/> - </subject> - <effectiveDateTime value="2017-05-03T15:54:26-04:00"/> - <performer> - <reference value="Patient/PatientId-patientId"/> - </performer> - <valueQuantity> - <value value="820"/> - <unit value="cL/s"/> - <system value="urn:iso:std:iso:11073:10101"/> - <code value="265201"/> - </valueQuantity> + <id value="Observation" /> + <text> <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative with Details</b> </p> <p> <b> id</b> : 656</p> <p> <b> identifier</b> : patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820</p> <p> <b> status</b> : final</p> <p> <b> code</b> : MDC_FLOW_AWAY_EXP_FORCED_PEAK <span> (Details : {urn:iso:std:iso:11073:10101 code '152584' = '152584', given as 'MDC_FLOW_AWAY_EXP_FORCED + _PEAK'})</span> </p> <p> <b> subject</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> effective</b> : 03/05/2017 3:54:26 PM</p> <p> <b> performer</b> : <a> Patient/PatientId-patientId</a> </p> <p> <b> value</b> : 820 cL/s<span> (Details: urn:iso:std:iso:11073:10101 code 265201 = '265201')</span> </p> </div> </text> <identifier> + <value value="patientId-urn:oid:1.2.4~0000000000000000~152584~20170503155426~820" /> + </identifier> + <status value="final" /> + <code> + <coding> + <system value="urn:iso:std:iso:11073:10101" /> + <code value="152584" /> + <display value="MDC_FLOW_AWAY_EXP_FORCED_PEAK" /> + </coding> + </code> + <subject> + <reference value="Patient/PatientId-patientId" /> + </subject> + <effectiveDateTime value="2017-05-03T15:54:26-04:00" /> + <performer> + <reference value="Patient/PatientId-patientId" /> + </performer> + <valueQuantity> + <value value="820" /> + <unit value="cL/s" /> + <system value="urn:iso:std:iso:11073:10101" /> + <code value="265201" /> + </valueQuantity> <!-- - -Removed the .related type qualified-by - if needed would be an extension +Removed the .related type qualified-by - if needed would be an extension <related> - <type value="qualified-by"/> + <type value="qualified-by" /> <target> <identifier> - <value value="3.14159.20170619185932"/> + <value value="3.14159.20170619185932" /> </identifier> </target> </related> --> -</Observation> \ No newline at end of file +</Observation> diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json index c194bcf0d..fe239d89c 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.json @@ -1,24 +1,24 @@ { - "resourceType": "OperationOutcome", - "id": "OperationOutcome", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <p>The code "W" is not known and not legal Patient.gender.</p>\n </div>" - }, - "issue": [ - { - "severity": "error", - "code": "code-invalid", - "details": { - "text": "The code \"W\" is not known and not legal in this context" - }, - "diagnostics": "Acme.Interop.FHIRProcessors.Patient.processGender line 2453", - "location": [ - "/f:Patient/f:gender" - ], - "expression": [ - "Patient.gender" - ] - } - ] - } \ No newline at end of file + "resourceType": "OperationOutcome", + "id": "OperationOutcome", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <p>The code "W" is not known and not legal Patient.gender.</p>\n </div>" + }, + "issue": [ + { + "severity": "error", + "code": "code-invalid", + "details": { + "text": "The code \"W\" is not known and not legal in this context" + }, + "diagnostics": "Acme.Interop.FHIRProcessors.Patient.processGender line 2453", + "location": [ + "/f:Patient/f:gender" + ], + "expression": [ + "Patient.gender" + ] + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml index 8cce5dad6..a9958ca38 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/OperationOutcome.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <OperationOutcome xmlns="http://hl7.org/fhir"> - <id value="OperationOutcome"/> - <text> - <status value="generated"/> + <id value="OperationOutcome" /> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - <p> All OK</p> - </div> - </text> - <issue> - <severity value="information"/> - <code value="informational"/> - <details> - <text value="All OK"/> - </details> - </issue> -</OperationOutcome> \ No newline at end of file + <p> All OK</p> + </div> + </text> + <issue> + <severity value="information" /> + <code value="informational" /> + <details> + <text value="All OK" /> + </details> + </issue> +</OperationOutcome> diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json index de4fc039e..2fe51d110 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.json @@ -1,116 +1,116 @@ { - "resourceType": "Patient", - "id": "Patient", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f001</p><p><b>identifier</b>: 738472983 (USUAL), ?? (USUAL)</p><p><b>active</b>: true</p><p><b>name</b>: Pieter van de Heuvel </p><p><b>telecom</b>: ph: 0648352638(MOBILE), p.heuvel@gmail.com(HOME)</p><p><b>gender</b>: male</p><p><b>birthDate</b>: 17/11/1944</p><p><b>deceased</b>: false</p><p><b>address</b>: Van Egmondkade 23 Amsterdam 1024 RJ NLD (HOME)</p><p><b>maritalStatus</b>: Getrouwd <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-MaritalStatus code 'M' = 'Married', given as 'Married'})</span></p><p><b>multipleBirth</b>: true</p><h3>Contacts</h3><table><tr><td>-</td><td><b>Relationship</b></td><td><b>Name</b></td><td><b>Telecom</b></td></tr><tr><td>*</td><td>Emergency Contact <span>(Details : {http://terminology.hl7.org/CodeSystem/v2-0131 code 'C' = 'Emergency Contact)</span></td><td>Sarah Abels </td><td>ph: 0690383372(MOBILE)</td></tr></table><h3>Communications</h3><table><tr><td>-</td><td><b>Language</b></td><td><b>Preferred</b></td></tr><tr><td>*</td><td>Nederlands <span>(Details : {urn:ietf:bcp:47 code 'nl' = 'Dutch', given as 'Dutch'})</span></td><td>true</td></tr></table><p><b>managingOrganization</b>: <a>Burgers University Medical Centre</a></p></div>" + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: f001</p><p><b>identifier</b>: 738472983 (USUAL), ?? (USUAL)</p><p><b>active</b>: true</p><p><b>name</b>: Pieter van de Heuvel </p><p><b>telecom</b>: ph: 0648352638(MOBILE), p.heuvel@gmail.com(HOME)</p><p><b>gender</b>: male</p><p><b>birthDate</b>: 17/11/1944</p><p><b>deceased</b>: false</p><p><b>address</b>: Van Egmondkade 23 Amsterdam 1024 RJ NLD (HOME)</p><p><b>maritalStatus</b>: Getrouwd <span>(Details : {http://terminology.hl7.org/CodeSystem/v3-MaritalStatus code 'M' = 'Married', given as 'Married'})</span></p><p><b>multipleBirth</b>: true</p><h3>Contacts</h3><table><tr><td>-</td><td><b>Relationship</b></td><td><b>Name</b></td><td><b>Telecom</b></td></tr><tr><td>*</td><td>Emergency Contact <span>(Details : {http://terminology.hl7.org/CodeSystem/v2-0131 code 'C' = 'Emergency Contact)</span></td><td>Sarah Abels </td><td>ph: 0690383372(MOBILE)</td></tr></table><h3>Communications</h3><table><tr><td>-</td><td><b>Language</b></td><td><b>Preferred</b></td></tr><tr><td>*</td><td>Nederlands <span>(Details : {urn:ietf:bcp:47 code 'nl' = 'Dutch', given as 'Dutch'})</span></td><td>true</td></tr></table><p><b>managingOrganization</b>: <a>Burgers University Medical Centre</a></p></div>" + }, + "identifier": [ + { + "use": "usual", + "system": "urn:oid:2.16.840.1.113883.2.4.6.3", + "value": "738472983" }, - "identifier": [ - { - "use": "usual", - "system": "urn:oid:2.16.840.1.113883.2.4.6.3", - "value": "738472983" - }, + { + "use": "usual", + "system": "urn:oid:2.16.840.1.113883.2.4.6.3" + } + ], + "active": true, + "name": [ + { + "use": "usual", + "family": "van de Heuvel", + "given": [ + "Pieter" + ], + "suffix": [ + "MSc" + ] + } + ], + "telecom": [ + { + "system": "phone", + "value": "0648352638", + "use": "mobile" + }, + { + "system": "email", + "value": "p.heuvel@gmail.com", + "use": "home" + } + ], + "gender": "male", + "birthDate": "1944-11-17", + "deceasedBoolean": false, + "address": [ + { + "use": "home", + "line": [ + "Van Egmondkade 23" + ], + "city": "Amsterdam", + "postalCode": "1024 RJ", + "country": "NLD" + } + ], + "maritalStatus": { + "coding": [ { - "use": "usual", - "system": "urn:oid:2.16.840.1.113883.2.4.6.3" + "system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus", + "code": "M", + "display": "Married" } ], - "active": true, - "name": [ - { + "text": "Getrouwd" + }, + "multipleBirthBoolean": true, + "contact": [ + { + "relationship": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0131", + "code": "C" + } + ] + } + ], + "name": { "use": "usual", - "family": "van de Heuvel", + "family": "Abels", "given": [ - "Pieter" - ], - "suffix": [ - "MSc" + "Sarah" ] - } - ], - "telecom": [ - { - "system": "phone", - "value": "0648352638", - "use": "mobile" }, - { - "system": "email", - "value": "p.heuvel@gmail.com", - "use": "home" - } - ], - "gender": "male", - "birthDate": "1944-11-17", - "deceasedBoolean": false, - "address": [ - { - "use": "home", - "line": [ - "Van Egmondkade 23" - ], - "city": "Amsterdam", - "postalCode": "1024 RJ", - "country": "NLD" - } - ], - "maritalStatus": { - "coding": [ + "telecom": [ { - "system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus", - "code": "M", - "display": "Married" + "system": "phone", + "value": "0690383372", + "use": "mobile" } - ], - "text": "Getrouwd" - }, - "multipleBirthBoolean": true, - "contact": [ - { - "relationship": [ + ] + } + ], + "communication": [ + { + "language": { + "coding": [ { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0131", - "code": "C" - } - ] + "system": "urn:ietf:bcp:47", + "code": "nl", + "display": "Dutch" } ], - "name": { - "use": "usual", - "family": "Abels", - "given": [ - "Sarah" - ] - }, - "telecom": [ - { - "system": "phone", - "value": "0690383372", - "use": "mobile" - } - ] - } - ], - "communication": [ - { - "language": { - "coding": [ - { - "system": "urn:ietf:bcp:47", - "code": "nl", - "display": "Dutch" - } - ], - "text": "Nederlands" - }, - "preferred": true - } - ], - "managingOrganization": { - "reference": "Organization/f001", - "display": "Burgers University Medical Centre" + "text": "Nederlands" + }, + "preferred": true } - } \ No newline at end of file + ], + "managingOrganization": { + "reference": "Organization/f001", + "display": "Burgers University Medical Centre" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml index 93f5c6c4a..01cdd02d9 100644 --- a/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml +++ b/tests/Integration.Test/data/fhir/4.0.1 R4/Patient.xml @@ -1,35 +1,34 @@ <?xml version="1.0" encoding="UTF-8"?> <Patient xmlns="http://hl7.org/fhir"> - <id value="Patient"/> - <text> - <status value="generated"/> + <id value="Patient" /> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - - <p> Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p> - - </div> - </text> - <identifier> - <use value="usual"/> - <type> - <coding> - <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/> - <code value="MR"/> - </coding> - </type> - <system value="urn:oid:0.1.2.3.4.5.6.7"/> - <value value="654321"/> - </identifier> - <active value="true"/> - <name> - <use value="official"/> - <family value="Donald"/> - <given value="Duck"/> - </name> - <gender value="male"/> - <photo> - <contentType value="image/gif"/> + + <p> Patient Donald DUCK @ Acme Healthcare, Inc. MR = 654321</p> + </div> + </text> + <identifier> + <use value="usual" /> + <type> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0203" /> + <code value="MR" /> + </coding> + </type> + <system value="urn:oid:0.1.2.3.4.5.6.7" /> + <value value="654321" /> + </identifier> + <active value="true" /> + <name> + <use value="official" /> + <family value="Donald" /> + <given value="Duck" /> + </name> + <gender value="male" /> + <photo> + <contentType value="image/gif" /> <data value="R0lGODlhEwARAPcAAAAAAAAA/+9aAO+1AP/WAP/eAP/eCP/eEP/eGP/nAP/nCP/nEP/nIf/nKf/nUv/nWv/vAP/vCP/vEP/vGP/v If/vKf/vMf/vOf/vWv/vY//va//vjP/3c//3lP/3nP//tf//vf/////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////// @@ -43,28 +42,28 @@ ////////////////////////////////yH5BAEAAAEALAAAAAATABEAAAi+AAMIDDCgYMGBCBMSvMCQ4QCFCQcwDBGCA4cLDyEGEC DxAoAQHjxwyKhQAMeGIUOSJJjRpIAGDS5wCDly4AALFlYOgHlBwwOSNydM0AmzwYGjBi8IHWoTgQYORg8QIGDAwAKhESI8HIDgwQa RDI1WXXAhK9MBBzZ8/XDxQoUFZC9IiCBh6wEHGz6IbNuwQoSpWxEgyLCXL8O/gAnylNlW6AUEBRIL7Og3KwQIiCXb9HsZQoIEUzUj - NEiaNMKAAAA7"/> - </photo> - <contact> - <relationship> - <coding> - <system value="http://terminology.hl7.org/CodeSystem/v2-0131"/> - <code value="E"/> - </coding> - </relationship> - <organization> - <reference value="Organization/1"/> - <display value="Walt Disney Corporation"/> - </organization> - </contact> - <managingOrganization> - <reference value="Organization/1"/> - <display value="ACME Healthcare, Inc"/> - </managingOrganization> - <link> - <other> - <reference value="Patient/pat2"/> - </other> - <type value="seealso"/> - </link> -</Patient> \ No newline at end of file + NEiaNMKAAAA7" /> + </photo> + <contact> + <relationship> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0131" /> + <code value="E" /> + </coding> + </relationship> + <organization> + <reference value="Organization/1" /> + <display value="Walt Disney Corporation" /> + </organization> + </contact> + <managingOrganization> + <reference value="Organization/1" /> + <display value="ACME Healthcare, Inc" /> + </managingOrganization> + <link> + <other> + <reference value="Patient/pat2" /> + </other> + <type value="seealso" /> + </link> +</Patient> diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json index 31cb970ec..2f1739770 100644 --- a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.json @@ -1,243 +1,243 @@ { - "resourceType": "Bundle", - "id": "Bundle", - "type": "collection", - "entry": [ - { - "fullUrl": "http://example.org/fhir/Patient/23", - "resource": { - "resourceType": "Patient", - "id": "23", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown ( id: 1234567)</p></div>" - }, - "identifier": [ + "resourceType": "Bundle", + "id": "Bundle", + "type": "collection", + "entry": [ + { + "fullUrl": "http://example.org/fhir/Patient/23", + "resource": { + "resourceType": "Patient", + "id": "23", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown ( id: 1234567)</p></div>" + }, + "identifier": [ + { + "system": "http://example.org/ids", + "value": "1234567" + } + ] + } + }, + { + "fullUrl": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d", + "resource": { + "resourceType": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown</p></div>" + } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/123", + "resource": { + "resourceType": "Observation", + "id": "123", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "123" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ { - "system": "http://example.org/ids", - "value": "1234567" + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" } ] + }, + "subject": { + "reference": "Patient/23" } - }, - { - "fullUrl": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d", - "resource": { - "resourceType": "Patient", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Anonymous Patient</b> (no stated gender), DoB Unknown</p></div>" - } - } - }, - { - "fullUrl": "http://example.org/fhir/Observation/123", - "resource": { - "resourceType": "Observation", - "id": "123", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "123" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "Patient/23" - } - } - }, - { - "fullUrl": "http://example.org/fhir/Observation/124", - "resource": { - "resourceType": "Observation", - "id": "124", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "124" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir/Patient/23</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "http://example.org/fhir/Patient/23" - } - } - }, - { - "fullUrl": "http://example.org/fhir/Observation/12", - "resource": { - "resourceType": "Observation", - "id": "12", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "12" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d" - } - } - }, - { - "fullUrl": "http://example.org/fhir/Observation/14", - "resource": { - "resourceType": "Observation", - "id": "14", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir-2/Patient/1</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "http://example.org/fhir-2/Patient/1" - } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/124", + "resource": { + "resourceType": "Observation", + "id": "124", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "124" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir/Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "http://example.org/fhir/Patient/23" } - }, - { - "fullUrl": "http://example.org/fhir-2/Observation/14", - "resource": { - "resourceType": "Observation", - "id": "14", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "Patient/23" - } + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/12", + "resource": { + "resourceType": "Observation", + "id": "12", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "12" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "urn:uuid:04121321-4af5-424c-a0e1-ed3aab1c349d" } - }, - { - "fullUrl": "http://example.org/fhir/Patient/45", - "resource": { - "resourceType": "Patient", - "id": "45", - "meta": { - "versionId": "1" - }, - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 1</b> (no stated gender), DoB Unknown</p></div>" - }, - "name": [ + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/14", + "resource": { + "resourceType": "Observation", + "id": "14", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">http://example.org/fhir-2/Patient/1</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ { - "text": "Name 1" + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" } ] + }, + "subject": { + "reference": "http://example.org/fhir-2/Patient/1" } - }, - { - "fullUrl": "http://example.org/fhir/Patient/45", - "resource": { - "resourceType": "Patient", - "id": "45", - "meta": { - "versionId": "2" - }, - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 2</b> (no stated gender), DoB Unknown</p></div>" - }, - "name": [ + } + }, + { + "fullUrl": "http://example.org/fhir-2/Observation/14", + "resource": { + "resourceType": "Observation", + "id": "14", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "14" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/23</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ { - "text": "Name 2" + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" } ] + }, + "subject": { + "reference": "Patient/23" } - }, - { - "fullUrl": "http://example.org/fhir/Observation/47", - "resource": { - "resourceType": "Observation", - "id": "47", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "47" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/45/_history/2</a></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "reference": "Patient/45/_history/2" + } + }, + { + "fullUrl": "http://example.org/fhir/Patient/45", + "resource": { + "resourceType": "Patient", + "id": "45", + "meta": { + "versionId": "1" + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 1</b> (no stated gender), DoB Unknown</p></div>" + }, + "name": [ + { + "text": "Name 1" } + ] + } + }, + { + "fullUrl": "http://example.org/fhir/Patient/45", + "resource": { + "resourceType": "Patient", + "id": "45", + "meta": { + "versionId": "2" + }, + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Name 2</b> (no stated gender), DoB Unknown</p></div>" + }, + "name": [ + { + "text": "Name 2" + } + ] + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/47", + "resource": { + "resourceType": "Observation", + "id": "47", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "47" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <a href=\"todo.html\">Patient/45/_history/2</a></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" + } + ] + }, + "subject": { + "reference": "Patient/45/_history/2" } - }, - { - "fullUrl": "http://example.org/fhir/Observation/48", - "resource": { - "resourceType": "Observation", - "id": "48", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "48" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <span/></p></div>" - }, - "status": "final", - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "15074-8", - "display": "Glucose [Moles/volume] in Blood" - } - ] - }, - "subject": { - "identifier": { - "system": "http://example.org/ids", - "value": "1234567" + } + }, + { + "fullUrl": "http://example.org/fhir/Observation/48", + "resource": { + "resourceType": "Observation", + "id": "48", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource "48" </p></div><p><b>status</b>: final</p><p><b>code</b>: Glucose [Moles/volume] in Blood <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#15074-8)</span></p><p><b>subject</b>: <span/></p></div>" + }, + "status": "final", + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "15074-8", + "display": "Glucose [Moles/volume] in Blood" } + ] + }, + "subject": { + "identifier": { + "system": "http://example.org/ids", + "value": "1234567" } } } - ] - } \ No newline at end of file + } + ] +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml index 981f71a27..3bed33981 100644 --- a/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Bundle.xml @@ -1,152 +1,152 @@ <?xml version="1.0" encoding="UTF-8"?> <Bundle xmlns="http://hl7.org/fhir"> - <id value="Bundle"/> + <id value="Bundle" /> <!-- this example bundle is a transaction response --> - <meta> - <lastUpdated value="2014-08-18T01:43:33Z"/> + <meta> + <lastUpdated value="2014-08-18T01:43:33Z" /> <!-- when the transaction response was constructed --> - </meta> - <type value="transaction-response"/> -<!-- - one entry for each entry in the transaction, in order, with a + </meta> + <type value="transaction-response" /> +<!-- + one entry for each entry in the transaction, in order, with a response --> - <entry> - <fullUrl value="http://example.org/fhir/Patient/12423"/> - <resource> + <entry> + <fullUrl value="http://example.org/fhir/Patient/12423" /> + <resource> <!-- response for the simple create operation --> <!-- whether to return the result resource depends on client preference --> - <Patient> - <id value="12423"/> - <meta> - <versionId value="1"/> - <lastUpdated value="2014-08-18T01:43:31Z"/> - </meta> - <text> - <status value="generated"/> - <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> - </text> - <active value="true"/> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <gender value="male"/> - <birthDate value="1974-12-25"/> - </Patient> - </resource> + <Patient> + <id value="12423" /> + <meta> + <versionId value="1" /> + <lastUpdated value="2014-08-18T01:43:31Z" /> + </meta> + <text> + <status value="generated" /> + <div xmlns="http://www.w3.org/1999/xhtml">Some narrative</div> + </text> + <active value="true" /> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <gender value="male" /> + <birthDate value="1974-12-25" /> + </Patient> + </resource> <!-- now, details about the action to take with the resource --> - <response> + <response> <!-- important responses from the server --> - <status value="201 Created"/> - <location value="Patient/12423/_history/1"/> - <etag value="W/"1""/> - <lastModified value="2014-08-18T01:43:33Z"/> - <outcome> - <OperationOutcome> - <issue> - <severity value="warning"/> - <code value="not-found"/> - <details> - <text value="The Managing organization was not known and was deleted"/> - </details> - <expression value="Patient.managingOrganization"/> - </issue> - </OperationOutcome> - </outcome> - </response> - </entry> - <entry> + <status value="201 Created" /> + <location value="Patient/12423/_history/1" /> + <etag value="W/"1"" /> + <lastModified value="2014-08-18T01:43:33Z" /> + <outcome> + <OperationOutcome> + <issue> + <severity value="warning" /> + <code value="not-found" /> + <details> + <text value="The Managing organization was not known and was deleted" /> + </details> + <expression value="Patient.managingOrganization" /> + </issue> + </OperationOutcome> + </outcome> + </response> + </entry> + <entry> <!-- response to the conditional create operation --> <!-- in this case, there was a match to the If-None-Exist header --> - <response> + <response> <!-- no action taken --> - <status value="200 OK"/> - </response> - </entry> - <entry> + <status value="200 OK" /> + </response> + </entry> + <entry> <!-- response to a simple update operation --> - <!-- no return resource for this example, though in a - real transaction, all entries would have a resource or all would not + <!-- no return resource for this example, though in a + real transaction, all entries would have a resource or all would not --> - <response> - <status value="200 OK"/> - <location value="Patient/123/_history/4"/> - <etag value="W/"4""/> - </response> - </entry> - <entry> + <response> + <status value="200 OK" /> + <location value="Patient/123/_history/4" /> + <etag value="W/"4"" /> + </response> + </entry> + <entry> <!-- response to the conditional update operation --> - <response> + <response> <!-- created a new resource for this one --> - <status value="201 Created"/> - <location value="Patient/12424/_history/1"/> - <etag value="W/"1""/> - </response> - </entry> - <entry> + <status value="201 Created" /> + <location value="Patient/12424/_history/1" /> + <etag value="W/"1"" /> + </response> + </entry> + <entry> <!-- response to the 2nd conditional update operation --> - <response> + <response> <!-- created a new resource for this one --> - <status value="200 ok"/> - <location value="Patient/123a/_history/3"/> - <etag value="W/"3""/> - </response> - </entry> - <entry> + <status value="200 ok" /> + <location value="Patient/123a/_history/3" /> + <etag value="W/"3"" /> + </response> + </entry> + <entry> <!-- response to the simple delete operation --> - <response> + <response> <!-- successful deletion --> - <status value="202 Accepted"/> - </response> - </entry> - <entry> + <status value="202 Accepted" /> + </response> + </entry> + <entry> <!-- response to the conditional delete operation --> - <response> + <response> <!-- delete matching resource - but you can't find out what was deleted - an inherent limitation in a condition delete --> - <status value="DELETE"/> - </response> - </entry> - <entry> - <fullUrl value="urn:uuid:7f9724ed-ef8d-4434-aacb-41869db83233"/> - <resource> + <status value="DELETE" /> + </response> + </entry> + <entry> + <fullUrl value="urn:uuid:7f9724ed-ef8d-4434-aacb-41869db83233" /> + <resource> <!-- operation response --> - <Parameters> - <parameter> - <name value="name"/> - <valueString value="LOINC"/> - </parameter> + <Parameters> + <parameter> + <name value="name" /> + <valueString value="LOINC" /> + </parameter> <!-- etc. --> - </Parameters> - </resource> - <response> + </Parameters> + </resource> + <response> <!-- POST to [base]/ValueSet/$lookup - invoking a lookup operation (see Terminology Service) --> - <status value="200 ok"/> - </response> - </entry> - <entry> - <fullUrl value="urn:uuid:e7bcef8e-5ef9-4d2b-87d5-b42b1eec9125"/> - <resource> + <status value="200 ok" /> + </response> + </entry> + <entry> + <fullUrl value="urn:uuid:e7bcef8e-5ef9-4d2b-87d5-b42b1eec9125" /> + <resource> <!-- response to search --> - <Bundle> - <id value="fb6ed6cb-324e-4588-87cd-0c92c68986ca"/> - <type value="searchset"/> + <Bundle> + <id value="fb6ed6cb-324e-4588-87cd-0c92c68986ca" /> + <type value="searchset" /> <!-- etc. --> - </Bundle> - </resource> - <response> - <status value="200 OK"/> - </response> - </entry> - <entry> + </Bundle> + </resource> + <response> + <status value="200 OK" /> + </response> + </entry> + <entry> <!-- response to conditional read - no changes --> - <response> - <status value="304 Not Modified"/> - </response> - </entry> -</Bundle> \ No newline at end of file + <response> + <status value="304 Not Modified" /> + </response> + </entry> +</Bundle> diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml index f2d91cb6b..30ed17a48 100644 --- a/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Observation.xml @@ -1,57 +1,57 @@ <?xml version="1.0" encoding="UTF-8"?> <Observation xmlns="http://hl7.org/fhir"> - <id value="Observation"/> <!-- urn:oid:2.16.840.1.113883.4.642.1.7 --><!-- 2.16.840.1.113883.4.642.1.118 --><text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative</b> </p> <div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px - solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">Resource "f001" </p> </div> <p> <b> identifier</b> : id: 6323 (OFFICIAL)</p> <p> <b> status</b> : final</p> <p> <b> code</b> : Glucose [Moles/volume] in Blood <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="https://loinc.org/">LOINC</a> #15074-8)</span> </p> <p> <b> subject</b> : <a href="patient-f001.html">Patient/f001: P. van de Heuvel</a> "Pieter VAN DE HEUVEL"</p> <p> <b> effective</b> : 2013-04-02T09:30:10+01:00 --> (ongoing)</p> <p> <b> issued</b> : 04/04/2013 1:30:10 AM</p> <p> <b> performer</b> : <a href="practitioner-f005.html">Practitioner/f005: A. Langeveld</a> "Langeveld ANNE"</p> <p> <b> value</b> : 6.3 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </p> <p> <b> interpretation</b> : High <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/3.1.0/CodeSystem-v3-ObservationInterpretation.html">ObservationInterpretation</a> #H)</span> </p> <h3> ReferenceRanges</h3> <table class="grid"><tr> <td> -</td> <td> <b> Low</b> </td> <td> <b> High</b> </td> </tr> <tr> <td> *</td> <td> 3.1 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> <td> 6.2 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> </tr> </table> </div> </text> <identifier> - <use value="official"/> - <system value="http://www.bmc.nl/zorgportal/identifiers/observations"/> - <value value="6323"/> - </identifier> - <status value="final"/> - <code> - <coding> - <system value="http://loinc.org"/> - <code value="15074-8"/> - <display value="Glucose [Moles/volume] in Blood"/> - </coding> - </code> - <subject> - <reference value="Patient/f001"/> - <display value="P. van de Heuvel"/> - </subject> - <effectivePeriod> - <start value="2013-04-02T09:30:10+01:00"/> - </effectivePeriod> - <issued value="2013-04-03T15:30:10+01:00"/> - <performer> - <reference value="Practitioner/f005"/> - <display value="A. Langeveld"/> - </performer> - <valueQuantity> - <value value="6.3"/> - <unit value="mmol/l"/> - <system value="http://unitsofmeasure.org"/> - <code value="mmol/L"/> - </valueQuantity> - <interpretation> - <coding> - <system value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/> - <code value="H"/> - <display value="High"/> - </coding> - </interpretation> - <referenceRange> - <low> - <value value="3.1"/> - <unit value="mmol/l"/> - <system value="http://unitsofmeasure.org"/> - <code value="mmol/L"/> - </low> - <high> - <value value="6.2"/> - <unit value="mmol/l"/> - <system value="http://unitsofmeasure.org"/> - <code value="mmol/L"/> - </high> - </referenceRange> -</Observation> \ No newline at end of file + <id value="Observation" /> <!-- urn:oid:2.16.840.1.113883.4.642.1.7 --><!-- 2.16.840.1.113883.4.642.1.118 --><text> <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative</b> </p> <div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px + solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">Resource "f001" </p> </div> <p> <b> identifier</b> : id: 6323 (OFFICIAL)</p> <p> <b> status</b> : final</p> <p> <b> code</b> : Glucose [Moles/volume] in Blood <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="https://loinc.org/">LOINC</a> #15074-8)</span> </p> <p> <b> subject</b> : <a href="patient-f001.html">Patient/f001: P. van de Heuvel</a> "Pieter VAN DE HEUVEL"</p> <p> <b> effective</b> : 2013-04-02T09:30:10+01:00 --> (ongoing)</p> <p> <b> issued</b> : 04/04/2013 1:30:10 AM</p> <p> <b> performer</b> : <a href="practitioner-f005.html">Practitioner/f005: A. Langeveld</a> "Langeveld ANNE"</p> <p> <b> value</b> : 6.3 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </p> <p> <b> interpretation</b> : High <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/3.1.0/CodeSystem-v3-ObservationInterpretation.html">ObservationInterpretation</a> #H)</span> </p> <h3> ReferenceRanges</h3> <table class="grid"><tr> <td> -</td> <td> <b> Low</b> </td> <td> <b> High</b> </td> </tr> <tr> <td> *</td> <td> 3.1 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> <td> 6.2 mmol/l<span style="background: LightGoldenRodYellow"> (Details: UCUM code mmol/L = 'mmol/L')</span> </td> </tr> </table> </div> </text> <identifier> + <use value="official" /> + <system value="http://www.bmc.nl/zorgportal/identifiers/observations" /> + <value value="6323" /> + </identifier> + <status value="final" /> + <code> + <coding> + <system value="http://loinc.org" /> + <code value="15074-8" /> + <display value="Glucose [Moles/volume] in Blood" /> + </coding> + </code> + <subject> + <reference value="Patient/f001" /> + <display value="P. van de Heuvel" /> + </subject> + <effectivePeriod> + <start value="2013-04-02T09:30:10+01:00" /> + </effectivePeriod> + <issued value="2013-04-03T15:30:10+01:00" /> + <performer> + <reference value="Practitioner/f005" /> + <display value="A. Langeveld" /> + </performer> + <valueQuantity> + <value value="6.3" /> + <unit value="mmol/l" /> + <system value="http://unitsofmeasure.org" /> + <code value="mmol/L" /> + </valueQuantity> + <interpretation> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" /> + <code value="H" /> + <display value="High" /> + </coding> + </interpretation> + <referenceRange> + <low> + <value value="3.1" /> + <unit value="mmol/l" /> + <system value="http://unitsofmeasure.org" /> + <code value="mmol/L" /> + </low> + <high> + <value value="6.2" /> + <unit value="mmol/l" /> + <system value="http://unitsofmeasure.org" /> + <code value="mmol/L" /> + </high> + </referenceRange> +</Observation> diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json index 8d3da9b6c..65573f2a7 100644 --- a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.json @@ -1,112 +1,112 @@ { - "resourceType": "Patient", - "id": "Patient", - "text": { - "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n \n <table>\n \n <tbody>\n \n <tr>\n \n <td>Id</td>\n \n <td>Kenzi (Dog: Golden Retriever)</td>\n \n </tr>\n \n <tr>\n \n <td>Owner</td>\n \n <td>Peter Chalmers, 534 Erewhon, Pleasantville, Vic, 3999</td>\n \n </tr>\n \n <tr>\n \n <td>Contacts</td>\n \n <td>Work: (03) 5555 6473</td>\n \n </tr>\n \n <tr>\n \n <td>Id</td>\n \n <td>Dog Tag: 1234123 (Maroondah City Council)</td>\n \n </tr>\n \n </tbody>\n \n </table>\n \n </div>" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/patient-animal", - "extension": [ - { - "url": "species", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/animal-species", - "code": "canislf", - "display": "Dog" - } - ] - } - }, - { - "url": "breed", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://snomed.info/sct", - "code": "58108001", - "display": "Golden retriever" - }, - { - "system": "http://example.org/fhir/CodeSystem/animal-breed", - "code": "gret", - "display": "Golden Retriever" - } - ] - } - }, - { - "url": "genderStatus", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/animal-genderstatus", - "code": "neutered" - } - ] - } + "resourceType": "Patient", + "id": "Patient", + "text": { + "status": "generated", + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n \n <table>\n \n <tbody>\n \n <tr>\n \n <td>Id</td>\n \n <td>Kenzi (Dog: Golden Retriever)</td>\n \n </tr>\n \n <tr>\n \n <td>Owner</td>\n \n <td>Peter Chalmers, 534 Erewhon, Pleasantville, Vic, 3999</td>\n \n </tr>\n \n <tr>\n \n <td>Contacts</td>\n \n <td>Work: (03) 5555 6473</td>\n \n </tr>\n \n <tr>\n \n <td>Id</td>\n \n <td>Dog Tag: 1234123 (Maroondah City Council)</td>\n \n </tr>\n \n </tbody>\n \n </table>\n \n </div>" + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/patient-animal", + "extension": [ + { + "url": "species", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/animal-species", + "code": "canislf", + "display": "Dog" + } + ] } - ] - } - ], - "identifier": [ - { - "type": { - "text": "Dog Tag" - }, - "system": "http://www.maroondah.vic.gov.au/AnimalRegFees.aspx", - "value": "1234123", - "period": { - "start": "2010-05-31" }, - "assigner": { - "display": "Maroondah City Council" - } - } - ], - "active": true, - "name": [ - { - "use": "usual", - "given": [ - "Kenzi" - ] - } - ], - "gender": "female", - "birthDate": "2010-03-23", - "contact": [ - { - "relationship": [ - { + { + "url": "breed", + "valueCodeableConcept": { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0131", - "code": "C" + "system": "http://snomed.info/sct", + "code": "58108001", + "display": "Golden retriever" + }, + { + "system": "http://example.org/fhir/CodeSystem/animal-breed", + "code": "gret", + "display": "Golden Retriever" } ] } - ], - "name": { - "family": "Chalmers", - "given": [ - "Peter", - "James" - ] }, - "telecom": [ - { - "system": "phone", - "value": "(03) 5555 6473", - "use": "work" + { + "url": "genderStatus", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/animal-genderstatus", + "code": "neutered" + } + ] } - ] + } + ] + } + ], + "identifier": [ + { + "type": { + "text": "Dog Tag" + }, + "system": "http://www.maroondah.vic.gov.au/AnimalRegFees.aspx", + "value": "1234123", + "period": { + "start": "2010-05-31" + }, + "assigner": { + "display": "Maroondah City Council" } - ], - "managingOrganization": { - "display": "Pete's Vetinary Services" } - } \ No newline at end of file + ], + "active": true, + "name": [ + { + "use": "usual", + "given": [ + "Kenzi" + ] + } + ], + "gender": "female", + "birthDate": "2010-03-23", + "contact": [ + { + "relationship": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0131", + "code": "C" + } + ] + } + ], + "name": { + "family": "Chalmers", + "given": [ + "Peter", + "James" + ] + }, + "telecom": [ + { + "system": "phone", + "value": "(03) 5555 6473", + "use": "work" + } + ] + } + ], + "managingOrganization": { + "display": "Pete's Vetinary Services" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml index 5345703fa..0c3e379fe 100644 --- a/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml +++ b/tests/Integration.Test/data/fhir/4.3.0 R4B/Patient.xml @@ -1,159 +1,159 @@ <?xml version="1.0" encoding="UTF-8"?> <Patient xmlns="http://hl7.org/fhir"> - <id value="Patient"/> - <text> - <status value="generated"/> + <id value="Patient" /> + <text> + <status value="generated" /> <div xmlns="http://www.w3.org/1999/xhtml"> - <table> - <tbody> - <tr> - <td> Name</td> - <td> Peter James + <table> + <tbody> + <tr> + <td> Name</td> + <td> Peter James <b> Chalmers</b> ("Jim") - </td> - </tr> - <tr> - <td> Address</td> - <td> 534 Erewhon, Pleasantville, Vic, 3999</td> - </tr> - <tr> - <td> Contacts</td> - <td> Home: unknown. Work: (03) 5555 6473</td> - </tr> - <tr> - <td> Id</td> - <td> MRN: 12345 (Acme Healthcare)</td> - </tr> - </tbody> - </table> - </div> - </text> + </td> + </tr> + <tr> + <td> Address</td> + <td> 534 Erewhon, Pleasantville, Vic, 3999</td> + </tr> + <tr> + <td> Contacts</td> + <td> Home: unknown. Work: (03) 5555 6473</td> + </tr> + <tr> + <td> Id</td> + <td> MRN: 12345 (Acme Healthcare)</td> + </tr> + </tbody> + </table> + </div> + </text> <!-- MRN assigned by ACME healthcare on 6-May 2001 --> - <identifier> - <use value="usual"/> - <type> - <coding> - <system value="http://terminology.hl7.org/CodeSystem/v2-0203"/> - <code value="MR"/> - </coding> - </type> - <system value="urn:oid:1.2.36.146.595.217.0.1"/> - <value value="12345"/> - <period> - <start value="2001-05-06"/> - </period> - <assigner> - <display value="Acme Healthcare"/> - </assigner> - </identifier> - <active value="true"/> + <identifier> + <use value="usual" /> + <type> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0203" /> + <code value="MR" /> + </coding> + </type> + <system value="urn:oid:1.2.36.146.595.217.0.1" /> + <value value="12345" /> + <period> + <start value="2001-05-06" /> + </period> + <assigner> + <display value="Acme Healthcare" /> + </assigner> + </identifier> + <active value="true" /> <!-- Peter James Chalmers, but called "Jim" --> - <name> - <use value="official"/> - <family value="Chalmers"/> - <given value="Peter"/> - <given value="James"/> - </name> - <name> - <use value="usual"/> - <given value="Jim"/> - </name> - <name> + <name> + <use value="official" /> + <family value="Chalmers" /> + <given value="Peter" /> + <given value="James" /> + </name> + <name> + <use value="usual" /> + <given value="Jim" /> + </name> + <name> <!-- Maiden names apply for anyone whose name changes as a result of marriage - irrespective of gender --> - <use value="maiden"/> - <family value="Windsor"/> - <given value="Peter"/> - <given value="James"/> - <period> - <end value="2002"/> - </period> - </name> - <telecom> - <use value="home"/> + <use value="maiden" /> + <family value="Windsor" /> + <given value="Peter" /> + <given value="James" /> + <period> + <end value="2002" /> + </period> + </name> + <telecom> + <use value="home" /> <!-- home communication details aren't known --> - </telecom> - <telecom> - <system value="phone"/> - <value value="(03) 5555 6473"/> - <use value="work"/> - <rank value="1"/> - </telecom> - <telecom> - <system value="phone"/> - <value value="(03) 3410 5613"/> - <use value="mobile"/> - <rank value="2"/> - </telecom> - <telecom> - <system value="phone"/> - <value value="(03) 5555 8834"/> - <use value="old"/> - <period> - <end value="2014"/> - </period> - </telecom> + </telecom> + <telecom> + <system value="phone" /> + <value value="(03) 5555 6473" /> + <use value="work" /> + <rank value="1" /> + </telecom> + <telecom> + <system value="phone" /> + <value value="(03) 3410 5613" /> + <use value="mobile" /> + <rank value="2" /> + </telecom> + <telecom> + <system value="phone" /> + <value value="(03) 5555 8834" /> + <use value="old" /> + <period> + <end value="2014" /> + </period> + </telecom> <!-- use FHIR code system for male / female --> - <gender value="male"/> + <gender value="male" /> <birthDate value="1974-12-25"> <extension url="http://hl7.org/fhir/StructureDefinition/patient-birthTime"> - <valueDateTime value="1974-12-25T14:35:45-05:00"/> - </extension> - </birthDate> - <deceasedBoolean value="false"/> - <address> - <use value="home"/> - <type value="both"/> - <text value="534 Erewhon St PeasantVille, Rainbow, Vic 3999"/> - <line value="534 Erewhon St"/> - <city value="PleasantVille"/> - <district value="Rainbow"/> - <state value="Vic"/> - <postalCode value="3999"/> - <period> - <start value="1974-12-25"/> - </period> - </address> - <contact> - <relationship> - <coding> - <system value="http://terminology.hl7.org/CodeSystem/v2-0131"/> - <code value="N"/> - </coding> - </relationship> - <name> + <valueDateTime value="1974-12-25T14:35:45-05:00" /> + </extension> + </birthDate> + <deceasedBoolean value="false" /> + <address> + <use value="home" /> + <type value="both" /> + <text value="534 Erewhon St PeasantVille, Rainbow, Vic 3999" /> + <line value="534 Erewhon St" /> + <city value="PleasantVille" /> + <district value="Rainbow" /> + <state value="Vic" /> + <postalCode value="3999" /> + <period> + <start value="1974-12-25" /> + </period> + </address> + <contact> + <relationship> + <coding> + <system value="http://terminology.hl7.org/CodeSystem/v2-0131" /> + <code value="N" /> + </coding> + </relationship> + <name> <family value="du Marché"> <!-- the "du" part is a family name prefix (VV in iso 21090) --> <extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix"> - <valueString value="VV"/> - </extension> - </family> - <given value="Bénédicte"/> - </name> - <telecom> - <system value="phone"/> - <value value="+33 (237) 998327"/> - </telecom> - <address> - <use value="home"/> - <type value="both"/> - <line value="534 Erewhon St"/> - <city value="PleasantVille"/> - <district value="Rainbow"/> - <state value="Vic"/> - <postalCode value="3999"/> - <period> - <start value="1974-12-25"/> - </period> - </address> - <gender value="female"/> - <period> + <valueString value="VV" /> + </extension> + </family> + <given value="Bénédicte" /> + </name> + <telecom> + <system value="phone" /> + <value value="+33 (237) 998327" /> + </telecom> + <address> + <use value="home" /> + <type value="both" /> + <line value="534 Erewhon St" /> + <city value="PleasantVille" /> + <district value="Rainbow" /> + <state value="Vic" /> + <postalCode value="3999" /> + <period> + <start value="1974-12-25" /> + </period> + </address> + <gender value="female" /> + <period> <!-- The contact relationship started in 2012 --> - <start value="2012"/> - </period> - </contact> - <managingOrganization> - <reference value="Organization/1"/> - </managingOrganization> -</Patient> \ No newline at end of file + <start value="2012" /> + </period> + </contact> + <managingOrganization> + <reference value="Organization/1" /> + </managingOrganization> +</Patient> diff --git a/tests/Integration.Test/docker-compose.yml b/tests/Integration.Test/docker-compose.yml deleted file mode 100644 index 71dc8962d..000000000 --- a/tests/Integration.Test/docker-compose.yml +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2022 MONAI Consortium -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -version: "3.7" -services: - minio: - image: "minio/minio:latest" - command: server --console-address ":9001" /data - hostname: minio - volumes: - - ./.run/minio/data:/data - - ./.run/minio/config:/root/.minio - ports: - - "9000:9000" - - "9001:9001" - environment: - MINIO_ROOT_USER: minioadmin - MINIO_ROOT_PASSWORD: minioadmin - networks: - - testrunner - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] - interval: 15s - timeout: 30s - retries: 3 - - createbuckets: - image: minio/mc - environment: - MINIO_ROOT_USER: minioadmin - MINIO_ROOT_PASSWORD: minioadmin - BUCKET_NAME: monaideploy - ENDPOINT: http://minio:9000 - depends_on: - minio: - condition: service_healthy - networks: - - testrunner - entrypoint: > - /bin/sh -c " - until (/usr/bin/mc config host add myminio $$ENDPOINT $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo '...waiting...' && sleep 1; done; - /usr/bin/mc mb myminio/$$BUCKET_NAME; - /usr/bin/mc policy set public myminio/$$BUCKET_NAME; - /usr/bin/mc ls myminio; - # exit 0 - " - - rabbitmq: - image: rabbitmq:3-management - hostname: rabbitmq - ports: - - 5672:5672 - - 15672:15672 - environment: - RABBITMQ_DEFAULT_USER: "rabbitmq" - RABBITMQ_DEFAULT_PASS: "rabbitmq" - RABBITMQ_DEFAULT_VHOST: "monaideploy" - RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" - networks: - - testrunner - healthcheck: - test: rabbitmq-diagnostics -q ping - interval: 15s - timeout: 30s - retries: 3 - - orthanc: - image: "jodogne/orthanc-plugins" - hostname: orthanc - volumes: - - ${PWD}/configs/orthanc.json:/etc/orthanc/orthanc.json - - ${PWD}/.run/orthanc:/var/lib/orthanc/db/ - ports: - - "1114:1114" - - "8089:8089" - environment: - VERBOSE_ENABLED: "true" - networks: - - testrunner - healthcheck: - test: ["CMD", "/probes/test-aliveness.py"] - start_period: 10s - retries: 3 - interval: 15s - timeout: 30s - - informatics-gateway: - image: "ghcr.io/project-monai/monai-deploy-informatics-gateway:${TAG}" - volumes: - - ./configs/informatics-gateway.json:/opt/monai/ig/appsettings.json - - ./.run/ig/payloads:/payloads/ - - ./.run/ig/database:/database/ - - ./bin/Release/net6.0:/opt/monai/ig/plug-ins/ - ports: - - "104:104" - - "2575:2575" - - "5000:5000" - networks: - - testrunner - depends_on: - minio: - condition: service_healthy - rabbitmq: - condition: service_healthy - links: - - minio - - rabbitmq - -networks: - testrunner: - name: testrunner - driver: bridge diff --git a/tests/Integration.Test/nlog.config b/tests/Integration.Test/nlog.config new file mode 100644 index 000000000..446bba029 --- /dev/null +++ b/tests/Integration.Test/nlog.config @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<!-- +Copyright 2022 MONAI Consortium + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + autoReload="true" + internalLogLevel="Debug" + internalLogFile="${basedir}/logs/internal-nlog.txt"> + + <extensions> + <add assembly="NLog.Web.AspNetCore"/> + <add assembly="NLog.Extensions.Logging"/> + </extensions> + + <variable name="logDir" value="${basedir}/logs/" /> + + <time type="AccurateUTC" /> + + <targets async="true"> + <!-- File Target for all log messages with basic details --> + <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" > + <layout xsi:type="JsonLayout" includeEventProperties="true" includeScopeProperties="true"> + <attribute name="timestamp" layout="${date:format=o}" /> + <attribute name="level" layout="${level:upperCase=true}"/> + <attribute name="logger" layout="${logger}" /> + <attribute name="message" layout="${message:raw=true}" /> + <attribute name="properties" layout="${message:raw=true}" /> + </layout> + </target> + + + <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection --> + <target xsi:type="ColoredConsole" name="lifetimeConsole" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> + + <target name="logstash" xsi:type="Network" address="${environment:LOGSTASH_URL}" newLine="true"> + <layout xsi:type="JsonLayout" IncludeEventProperties="true" IncludeScopeProperties="true"> + <attribute name="Tag" layout="${environment:ENVIRONMENT_NAME}" /> + <attribute name="ServiceName" layout="${servicename}" /> + <attribute name="ServiceVersion" layout="${serviceversion}" /> + <attribute name="MachineName" layout="${machinename}" /> + <attribute name="CorrelationId" layout="${mdlc:item=correlationId}"/> + <attribute name="LoggerName" layout="${logger}"/> + <attribute name="Level" layout="${level:upperCase=true}"/> + <attribute name="Message" layout="${message}"/> + <attribute name="Exception" layout="${onexception:${literal:text=|}"/> + <attribute name="Exception2" layout="${exception:format=tostring}"/> + </layout> + </target> + + </targets> + + <!-- rules to map from logger name to target --> + <rules> + <!--All logs, including from Microsoft--> + <logger name="*" minlevel="Trace" writeTo="allfile" /> + + <!--Output hosting lifetime messages to console target for faster startup detection --> + <logger name="Microsoft.EntityFrameworkCore" minlevel="Warn" writeTo="lifetimeConsole" final="false" /> + <logger name="Microsoft.Hosting.Lifetime" minlevel="Info" writeTo="lifetimeConsole" final="false" /> + <logger name="Monai.*" minlevel="Debug" writeTo="lifetimeConsole" final="false" /> + + <!--Skip non-critical Microsoft logs and so log only own logs (BlackHole) --> + <logger name="Microsoft.*" maxlevel="Info" final="true" /> + <logger name="System.Net.Http.*" maxlevel="Info" final="true" /> + + <logger name="*" minlevel="Trace" writeTo="logstash" > + <filters FilterDefaultAction="Log"> + <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> + </filters> + </logger> + + </rules> +</nlog> diff --git a/tests/Integration.Test/run.sh b/tests/Integration.Test/run.sh index 65155256a..0e05b5f93 100755 --- a/tests/Integration.Test/run.sh +++ b/tests/Integration.Test/run.sh @@ -18,16 +18,12 @@ export VSTEST_HOST_DEBUG=0 export SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" +DOCKER_COMPOSE_DIR="$SCRIPT_DIR/../../docker-compose" +RUN_DIR="$DOCKER_COMPOSE_DIR/.run" TEST_DIR="$SCRIPT_DIR/" LOG_DIR="${GITHUB_WORKSPACE:-$SCRIPT_DIR}" -RUN_DIR="$SCRIPT_DIR/.run" BIN_DIR="$TEST_DIR/bin/Release/net6.0" -CONFIG_DIR="$SCRIPT_DIR/configs" -EXIT=false -METRICSFILE="$LOG_DIR/metrics.log" -LOADDEV= FEATURE= -STREAMID= export STUDYJSON="study.json" set -euo pipefail @@ -51,6 +47,7 @@ function check_status_code() { } function env_setup() { + [ -f $LOG_DIR/run.log ] && info "Deletig existing $LOG_DIR/run.log" && sudo rm $LOG_DIR/run.log [ -d $RUN_DIR ] && info "Removing $RUN_DIR..." && sudo rm -r $RUN_DIR mkdir -p $RUN_DIR @@ -70,13 +67,6 @@ function env_setup() { info "Filtering by feature=$FEATURE" shift 2 ;; - -d | --dev ) - info "Using .env.dev..." - LOADDEV="--env-file .env.dev" - info "Using study.json.dev..." - STUDYJSON="study.json.dev" - shift; - ;; --) shift; break @@ -87,10 +77,12 @@ function env_setup() { esac done - if [[ $(docker compose ps -q | wc -l) -ne 0 ]]; then + pushd $DOCKER_COMPOSE_DIR + if [[ $(docker compose -p igtest ps -q | wc -l) -ne 0 ]]; then info "Stopping existing services..." - docker compose $LOADDEV down + docker compose -p igtest down fi + popd if (dotnet tool list --global | grep livingdoc &>/dev/null); then info "Upgrading SpecFlow.Plus.LivingDoc.CLI..." @@ -110,69 +102,32 @@ function build() { } function start_services() { - info "Starting dependencies docker compose $LOADDEV up -d --force-recreate..." - docker compose $LOADDEV up -d --force-recreate - - HOST_IP=$(docker network inspect testrunner | jq -r .[0].IPAM.Config[0].Gateway) - info "Host IP = $HOST_IP" - export HOST_IP + info "Starting dependencies docker compose up -d --force-recreate..." + pushd $DOCKER_COMPOSE_DIR + ./init.sh + docker compose -p igtest up -d --force-recreate + popd info "=============================================" - docker container ls --format 'table {{.Names}}\t{{.ID}}' | grep integrationtest + docker container ls --format 'table {{.Names}}\t{{.ID}}' | grep igtest- info "=============================================" - set +e - COUNTER=0 - EXPECTEDSERVICE=8 - while true; do - info "Waiting for Informatics Gateway ($COUNTER)..." - count=$(curl -s http://$HOST_IP:5000/health/status | jq | grep "running" | wc -l) - info "$count services running..." - if [ $count -eq $EXPECTEDSERVICE ]; then - break - fi - if [ $COUNTER -gt 100 ]; then - fatal "Timeout waiting for Informatics Gateway services to be ready ($COUNTER/$EXPECTEDSERVICE)." - fi - let COUNTER=COUNTER+1 - sleep 1s - done - set -e - sleep 1 sudo chown -R $USER:$USER $RUN_DIR } -function write_da_metrics() { - docker container list - CID="$(docker container list | grep informatics-gateway | awk '{{print $1}}')" - info "Streaming Informatics Gateway perf logs from container $CID to $METRICSFILE" - - until $EXIT; do - DATA=$(docker stats $CID --no-stream --format "$(date +%s),{{.CPUPerc}},{{.MemUsage}},{{.NetIO}},{{.BlockIO}}") - echo $DATA >>$METRICSFILE - sleep 1 - done -} - -function stream_da_metrics() { - [ -f $METRICSFILE ] && sudo rm $METRICSFILE - write_da_metrics & - STREAMID=$! -} - function run_test() { pushd $TEST_DIR set +e info "Starting test runner..." - if [[ "$VSTEST_HOST_DEBUG" == 0 ]]; then + if [[ "$VSTEST_HOST_DEBUG" == 0 ]]; then dotnet test -c Release $FEATURE 2>&1 | tee $LOG_DIR/run.log else dotnet test -c Debug $FEATURE 2>&1 | tee $LOG_DIR/run.log fi EXITCODE=$? - EXIT=true + echo "dotnet test completed with exit code $EXITCODE" set -e popd } @@ -189,18 +144,19 @@ function generate_reports() { function save_logs() { [ -d $RUN_DIR ] && info "Clearning $RUN_DIR..." && sudo rm -r $RUN_DIR + pushd $DOCKER_COMPOSE_DIR info "Saving service log..." - docker compose $LOADDEV logs --no-color -t > "$LOG_DIR/services.log" + docker compose -p igtest logs --no-color -t > "$LOG_DIR/services.log" + popd } function tear_down() { set +e - info "Stop streaming metrics log..." - kill $STREAMID >/dev/null 2>&1 - set -e - + pushd $DOCKER_COMPOSE_DIR info "Stopping services..." - docker compose $LOADDEV down --remove-orphans + docker compose -p igtest down --remove-orphans + popd + set -e } function main() { @@ -208,7 +164,6 @@ function main() { env_setup "$@" build start_services - stream_da_metrics run_test generate_reports df -h diff --git a/tests/Integration.Test/study.json b/tests/Integration.Test/study.json index 4e08cc3e0..c60b21406 100644 --- a/tests/Integration.Test/study.json +++ b/tests/Integration.Test/study.json @@ -55,4 +55,4 @@ "SizeMin": 1, "SizeMax": 2 } -} \ No newline at end of file +} From b752a7a9c60bf7feab0906323348deb946075b86 Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Tue, 15 Nov 2022 17:30:11 +0000 Subject: [PATCH 084/101] upped messaging version Signed-off-by: Neil South <neil.south@answerdigital.com> --- doc/dependency_decisions.yml | 8 ++++---- src/Api/Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Configuration.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 2 +- ...onai.Deploy.InformaticsGateway.Integration.Test.csproj | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 4cff5eed6..83127992a 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -788,17 +788,17 @@ :when: 2022-08-16 23:06:20.598551507 Z - - :approve - Monai.Deploy.Messaging - - :who: mocsharp + - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.11 + - 0.1.17-rc0019 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - - :who: mocsharp + - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.11 + - 0.1.17-rc0019 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index cf9fe77ca..c4df1df0b 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.11" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0019" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 50c855f54..e481521b3 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.11" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0019" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index d3ea51c0d..f4eb9551a 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -48,7 +48,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.11" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0019" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 6c0816758..e39e442b3 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.11" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0019" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> From 8e161113c787be99818d5ab3df5f49d6c5ed33eb Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Tue, 15 Nov 2022 17:45:36 +0000 Subject: [PATCH 085/101] fixed up missed log Signed-off-by: Neil South <neil.south@answerdigital.com> --- src/InformaticsGateway/Services/Export/ExportServiceBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index c7d8a2395..f13aaa7a2 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -99,7 +99,7 @@ protected ExportServiceBase( _messageSubscriber.OnConnectionError += (sender, args) => { - _logger.MessagingServiceErrorRecover(args.ShutdownEventArguments.ToString()); + _logger.MessagingServiceErrorRecover(args.ErrorMessage); SetupPolling(); }; } From c9dd62bf4b97b7274f5465cbb6900c38d032953a Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Wed, 16 Nov 2022 09:24:13 +0000 Subject: [PATCH 086/101] upped package version Signed-off-by: Neil South <neil.south@answerdigital.com> --- doc/dependency_decisions.yml | 4 ++-- src/Api/Monai.Deploy.InformaticsGateway.Api.csproj | 2 +- .../Monai.Deploy.InformaticsGateway.Configuration.csproj | 2 +- src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj | 2 +- src/InformaticsGateway/Services/Export/ExportServiceBase.cs | 4 ++-- .../Monai.Deploy.InformaticsGateway.Integration.Test.csproj | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 83127992a..2a8135a09 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -791,14 +791,14 @@ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.17-rc0019 + - 0.1.17-rc0020 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.17-rc0019 + - 0.1.17-rc0020 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index c4df1df0b..cb68750ae 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0019" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0020" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> </ItemGroup> diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index e481521b3..b1d455ba4 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -30,7 +30,7 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0019" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0020" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index f4eb9551a..fc47c883b 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -48,7 +48,7 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0019" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0020" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index f13aaa7a2..ff044eaeb 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -204,7 +204,7 @@ private void OnMessageReceivedCallback(MessageReceivedEventArgs eventArgs) private IEnumerable<ExportRequestDataMessage> DownloadPayloadActionCallback(ExportRequestEventDetails exportRequest, CancellationToken cancellationToken) { Guard.Against.Null(exportRequest, nameof(exportRequest)); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequest.ExportTaskId }, { "CorrelationId", exportRequest.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new Api.LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequest.ExportTaskId }, { "CorrelationId", exportRequest.CorrelationId } }); var scope = _serviceScopeFactory.CreateScope(); var storageService = scope.ServiceProvider.GetRequiredService<IStorageService>(); @@ -245,7 +245,7 @@ private IEnumerable<ExportRequestDataMessage> DownloadPayloadActionCallback(Expo private void ReportingActionBlock(ExportRequestDataMessage exportRequestData) { - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequestData.ExportTaskId }, { "CorrelationId", exportRequestData.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new Api.LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequestData.ExportTaskId }, { "CorrelationId", exportRequestData.CorrelationId } }); var exportRequest = _exportRequests[exportRequestData.ExportTaskId]; lock (SyncRoot) diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index e39e442b3..278934b90 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -33,7 +33,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0019" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0020" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> From ff677ceab943295de8e989eed967f4243933fefe Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 17 Nov 2022 10:24:35 -0800 Subject: [PATCH 087/101] Add support for MongoDB (#238) * Refactor DB repositories for EF * Add MongoDB support Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 4 +- doc/dependency_decisions.yml | 104 +- docker-compose/docker-compose.yml | 2 +- docs/compliance/third-party-licenses.md | 30 +- src/Api/BaseApplicationEntity.cs | 7 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 7 +- src/Api/MonaiApplicationEntity.cs | 23 +- src/Api/MongoDBEntityBase.cs | 39 + src/Api/Rest/InferenceRequest.cs | 20 +- src/Api/Storage/DicomFileStorageMetadata.cs | 10 +- src/Api/Storage/FhirFileStorageMetadata.cs | 6 +- src/Api/Storage/FileStorageMetadata.cs | 6 +- src/Api/Storage/Hl7FileStorageMetadata.cs | 2 +- src/Api/Storage/Payload.cs | 18 +- src/Api/Storage/StorageObjectMetadata.cs | 10 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 1 + src/Api/Test/packages.lock.json | 1288 +++++++++++ src/Api/packages.lock.json | 290 +++ src/CLI/Commands/AetCommand.cs | 10 +- src/CLI/Commands/CommandBase.cs | 10 +- src/CLI/Commands/ConfigCommand.cs | 8 +- src/CLI/Commands/DestinationCommand.cs | 20 +- src/CLI/Commands/RestartCommand.cs | 2 +- src/CLI/Commands/SourceCommand.cs | 16 +- src/CLI/Commands/StartCommand.cs | 2 +- src/CLI/Commands/StatusCommand.cs | 2 +- src/CLI/Commands/StopCommand.cs | 2 +- src/CLI/ControlException.cs | 2 +- src/CLI/Logging/ConsoleLogger.cs | 2 +- .../Logging/ConsoleLoggerFactoryExtensions.cs | 2 +- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 3 +- src/CLI/Services/ConfirmationPrompt.cs | 2 +- src/CLI/Services/DockerRunner.cs | 10 +- src/CLI/Services/EmbeddedResource.cs | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 1 + src/CLI/Test/packages.lock.json | 1607 +++++++++++++ src/CLI/packages.lock.json | 1458 ++++++++++++ ...oy.InformaticsGateway.Client.Common.csproj | 5 +- src/Client.Common/ProblemException.cs | 4 +- ...formaticsGateway.Client.Common.Test.csproj | 1 + src/Client.Common/Test/packages.lock.json | 1095 +++++++++ src/Client.Common/packages.lock.json | 50 + ...ai.Deploy.InformaticsGateway.Client.csproj | 3 +- src/Client/Services/AeTitle{T}Service.cs | 14 +- src/Client/Services/HealthService.cs | 2 +- ...ploy.InformaticsGateway.Client.Test.csproj | 1 + src/Client/Test/packages.lock.json | 1738 ++++++++++++++ src/Client/packages.lock.json | 1210 ++++++++++ src/Common/ExtensionMethods.cs | 2 +- ...ai.Deploy.InformaticsGateway.Common.csproj | 3 +- src/Common/Test/ExtensionMethodsTest.cs | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 1 + src/Common/Test/packages.lock.json | 1173 ++++++++++ src/Common/packages.lock.json | 146 ++ ...oy.InformaticsGateway.Configuration.csproj | 7 +- ...formaticsGateway.Configuration.Test.csproj | 1 + src/Configuration/Test/packages.lock.json | 1313 +++++++++++ src/Configuration/ValidationExtensions.cs | 12 +- src/Configuration/packages.lock.json | 301 +++ src/Database/Api/DatabaseException.cs | 40 + .../Api/IInformaticsGatewayRepository.cs | 45 - src/Database/Api/Logging/Log.9000.cs | 59 + ...loy.InformaticsGateway.Database.Api.csproj | 7 +- ...IDestinationApplicationEntityRepository.cs | 36 + .../IInferenceRequestRepository.cs | 22 +- .../IMonaiApplicationEntityRepository.cs | 36 + .../Api/Repositories/IPayloadRepository.cs | 38 + .../ISourceApplicationEntityRepository.cs | 36 + .../IStorageMetadataRepository.cs} | 23 +- .../InferenceRequestRepositoryBase.cs | 101 + .../StorageMetadataRepositoryBase.cs | 104 + src/Database/Api/StorageMetadataWrapper.cs | 41 +- ...nformaticsGateway.Database.Api.Test.csproj | 2 +- src/Database/Api/Test/packages.lock.json | 1343 +++++++++++ src/Database/Api/packages.lock.json | 356 +++ src/Database/DatabaseManager.cs | 33 +- src/Database/DatabaseMigrationManager.cs | 2 +- ...stinationApplicationEntityConfiguration.cs | 4 +- .../InferenceRequestConfiguration.cs | 9 +- .../MonaiApplicationEntityConfiguration.cs | 6 +- .../Configuration/PayloadConfiguration.cs | 11 +- .../EntityFramework/Configuration/SR.cs | 2 +- .../SourceApplicationEntityConfiguration.cs | 4 +- ...orageMetadataWrapperEntityConfiguration.cs | 4 +- .../InformaticsGatewayContext.cs | 12 +- .../InformaticsGatewayContextFactory.cs | 3 +- .../InformaticsGatewayRepository.cs | 137 -- .../20221116172042_R3_0.3.4.Designer.cs | 235 ++ .../Migrations/20221116172042_R3_0.3.4.cs | 178 ++ .../InformaticsGatewayContextModelSnapshot.cs | 30 +- ...icsGateway.Database.EntityFramework.csproj | 9 +- .../DestinationApplicationEntityRepository.cs | 143 ++ .../InferenceRequestRepository.cs | 162 ++ .../MonaiApplicationEntityRepository.cs | 143 ++ .../Repositories/PayloadRepository.cs | 156 ++ .../SourceApplicationEntityRepository.cs | 143 ++ .../StorageMetadataWrapperRepository.cs | 170 ++ ...tinationApplicationEntityRepositoryTest.cs | 159 ++ .../Test/InMemoryDatabaseFixture.cs | 105 + .../Test/InferenceRequestRepositoryTest.cs | 261 +++ ...teway.Database.EntityFramework.Test.csproj | 46 + .../MonaiApplicationEntityRepositoryTest.cs | 163 ++ .../SourceApplicationEntityRepositoryTest.cs | 155 ++ .../Test/SqliteDatabaseFixture.cs | 112 + .../StorageMetadataWrapperRepositoryTest.cs | 255 +++ .../Test/StorageMetadataWrapperTest.cs | 2 +- src/Database/EntityFramework/Test/Usings.cs | 17 + .../EntityFramework/Test/packages.lock.json | 1517 +++++++++++++ .../{ => EntityFramework}/appsettings.json | 0 .../EntityFramework/packages.lock.json | 513 +++++ ....Deploy.InformaticsGateway.Database.csproj | 15 +- ...stinationApplicationEntityConfiguration.cs | 34 + .../InferenceRequestConfiguration.cs | 42 + .../MonaiApplicationEntityConfiguration.cs | 37 + .../MongoDBEntityBaseConfiguration.cs | 39 + .../MongoDB/Configurations/MongoDBOptions.cs | 26 + .../Configurations/PayloadConfiguration.cs | 50 + .../SourceApplicationEntityConfiguration.cs | 33 + ...orageMetadataWrapperEntityConfiguration.cs | 34 + ...InformaticsGateway.Database.MongoDB.csproj | 47 + .../MongoDB/MongoDatabaseMigrationManager.cs | 37 + .../DestinationApplicationEntityRepository.cs | 171 ++ .../InferenceRequestRepository.cs | 180 ++ .../MonaiApplicationEntityRepository.cs | 164 ++ .../MongoDB/Repositories/PayloadRepository.cs | 176 ++ .../SourceApplicationEntityRepository.cs | 170 ++ .../StorageMetadataWrapperRepository.cs | 177 ++ src/Database/MongoDB/packages.lock.json | 450 ++++ src/Database/packages.lock.json | 630 +++++ ...ormaticsGateway.DicomWeb.Client.CLI.csproj | 18 +- src/DicomWebClient/CLI/Qido.cs | 8 +- src/DicomWebClient/CLI/Stow.cs | 2 +- src/DicomWebClient/CLI/Utils.cs | 34 +- src/DicomWebClient/CLI/Wado.cs | 16 +- src/DicomWebClient/CLI/packages.lock.json | 1495 ++++++++++++ .../Common/HttpResponseMessageExtension.cs | 8 +- src/DicomWebClient/DicomWebClient.cs | 6 +- ....InformaticsGateway.DicomWeb.Client.csproj | 3 +- src/DicomWebClient/Services/QidoService.cs | 6 +- src/DicomWebClient/Services/ServiceBase.cs | 2 +- src/DicomWebClient/Services/StowService.cs | 2 +- src/DicomWebClient/Services/WadoService.cs | 32 +- ...rmaticsGateway.DicomWeb.Client.Test.csproj | 1 + src/DicomWebClient/Test/packages.lock.json | 1229 ++++++++++ src/DicomWebClient/packages.lock.json | 1263 +++++++++++ .../Common/DicomExtensions.cs | 2 +- src/InformaticsGateway/Common/DicomToolkit.cs | 6 +- .../Common/FileMoveException.cs | 46 + .../Common/FileStorageMetadataExtensions.cs | 14 +- .../Common/FileUploadException.cs | 42 + .../Common/PayloadExtensions.cs | 101 - .../Logging/FoDicomLogManager.cs | 2 +- .../Log.2000.InferenceRequestRepository.cs | 22 - .../Log.2100.StorageInfoWrapperRepository.cs | 33 - .../Logging/Log.3000.PayloadAssembler.cs | 5 +- .../Logging/Log.4000.ObjectUploadService.cs | 8 +- .../Logging/Log.700.PayloadService.cs | 22 +- .../Logging/Log.800.Hl7Service.cs | 3 + .../Logging/MicrosoftLoggerAdapter.cs | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 9 +- src/InformaticsGateway/Program.cs | 5 +- .../InferenceRequestRepository.cs | 182 -- .../Repositories/MonaiServiceLocator.cs | 2 +- .../StorageMetadataWrapperRepository.cs | 180 -- .../Services/Common/ITcpListener.cs | 2 +- .../Connectors/DataRetrievalService.cs | 101 +- .../Services/Connectors/PayloadAssembler.cs | 40 +- .../Services/Connectors/PayloadExtensions.cs | 2 +- .../Connectors/PayloadMoveActionHandler.cs | 153 +- .../Connectors/PayloadMoveException.cs | 3 +- .../PayloadNotificationActionHandler.cs | 45 +- .../Connectors/PayloadNotificationService.cs | 32 +- .../DicomWeb/DicomInstanceReaderBase.cs | 6 +- .../Services/DicomWeb/IStreamsWriter.cs | 14 +- .../DicomWeb/MultipartDicomInstanceReader.cs | 4 +- .../DicomWeb/SingleDicomInstanceReader.cs | 4 +- .../Services/DicomWeb/StowService.cs | 6 +- .../Services/Export/DicomWebExportService.cs | 12 +- .../Export/ExportRequestDataMessage.cs | 4 +- .../Services/Export/ExportServiceBase.cs | 2 +- .../Services/Export/ScuExportService.cs | 12 +- .../Services/Fhir/FhirJsonReader.cs | 8 +- .../Fhir/FhirResourceTypesRouteConstraint.cs | 8 +- .../Services/Fhir/FhirService.cs | 6 +- .../Services/Fhir/FhirXmlReader.cs | 10 +- .../Services/Fhir/Resources.cs | 2 +- .../Services/HealthLevel7/MllpClient.cs | 10 +- .../Services/HealthLevel7/MllpService.cs | 9 +- .../Http/DestinationAeTitleController.cs | 39 +- .../Services/Http/InferenceController.cs | 22 +- .../Services/Http/MonaiAeTitleController.cs | 28 +- .../Services/Http/SourceAeTitleController.cs | 37 +- .../Services/Scp/ApplicationEntityHandler.cs | 14 +- .../Services/Scp/ApplicationEntityManager.cs | 38 +- .../Services/Scp/IApplicationEntityManager.cs | 4 +- .../Scp/MonaiAeChangedNotificationService.cs | 4 +- .../Services/Scp/ScpService.cs | 8 +- .../Services/Scp/ScpServiceInternal.cs | 32 +- .../Services/Scu/ScuQueue.cs | 2 +- .../Services/Scu/ScuService.cs | 4 +- .../Services/Scu/ScuWorkRequest.cs | 6 +- .../Services/Storage/ObjectUploadQueue.cs | 2 +- .../Services/Storage/ObjectUploadService.cs | 49 +- .../Test/DummyMessagingService.cs | 3 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 3 +- .../InferenceRequestRepositoryTest.cs | 247 -- .../InformaticsGatewayRepositoryTest.cs | 243 -- .../StorageInfoWrapperRepositoryTest.cs | 319 --- .../Connectors/DataRetrievalServiceTest.cs | 43 +- .../Connectors/PayloadAssemblerTest.cs | 57 +- .../PayloadMoveActionHandlerTest.cs | 13 +- .../PayloadNotificationActionHandlerTest.cs | 12 +- .../PayloadNotificationServiceTest.cs | 167 +- .../Export/DicomWebExportServiceTest.cs | 12 +- .../Services/Export/ScuExportServiceTest.cs | 24 +- .../Http/DestinationAeTitleControllerTest.cs | 83 +- .../Services/Http/InferenceControllerTest.cs | 26 +- .../Http/MonaiAeTitleControllerTest.cs | 53 +- .../Http/SourceAeTitleControllerTest.cs | 72 +- .../Scp/ApplicationEntityManagerTest.cs | 82 +- .../Test/Services/Scp/ScpServiceTest.cs | 40 +- .../Storage/ObjectUploadServiceTest.cs | 13 +- .../Test/packages.lock.json | 2018 +++++++++++++++++ src/InformaticsGateway/packages.lock.json | 1596 +++++++++++++ src/Monai.Deploy.InformaticsGateway.sln | 35 + tests/Integration.Test/Common/Assertions.cs | 72 +- .../Integration.Test/Common/MinioDataSink.cs | 50 +- .../Drivers/EfDataProvider.cs | 50 +- .../Drivers/IDatabaseDataProvider.cs | 1 + .../Drivers/MongoDBDataProvider.cs | 124 + .../Drivers/RabbitMqConsumer.cs | 3 +- tests/Integration.Test/Hooks/TestHooks.cs | 32 +- ...InformaticsGateway.Integration.Test.csproj | 27 +- .../DicomDimseScpServicesStepDefinitions.cs | 28 +- .../DicomWebStowServiceStepDefinitions.cs | 10 +- .../ExportServicesStepDefinitions.cs | 11 +- .../StepDefinitions/FhirDefinitions.cs | 4 +- .../HealthLevel7Definitions.cs | 4 +- .../StepDefinitions/SharedDefinitions.cs | 6 +- tests/Integration.Test/appsettings.ef.json | 6 + tests/Integration.Test/appsettings.json | 13 +- .../Integration.Test/appsettings.mongodb.json | 7 + tests/Integration.Test/nlog.config | 15 +- tests/Integration.Test/packages.lock.json | 1861 +++++++++++++++ tests/Integration.Test/run.sh | 11 +- 245 files changed, 32150 insertions(+), 2755 deletions(-) create mode 100644 src/Api/MongoDBEntityBase.cs create mode 100644 src/Api/Test/packages.lock.json create mode 100644 src/Api/packages.lock.json create mode 100644 src/CLI/Test/packages.lock.json create mode 100644 src/CLI/packages.lock.json create mode 100644 src/Client.Common/Test/packages.lock.json create mode 100644 src/Client.Common/packages.lock.json create mode 100644 src/Client/Test/packages.lock.json create mode 100644 src/Client/packages.lock.json create mode 100644 src/Common/Test/packages.lock.json create mode 100644 src/Common/packages.lock.json create mode 100644 src/Configuration/Test/packages.lock.json create mode 100644 src/Configuration/packages.lock.json create mode 100644 src/Database/Api/DatabaseException.cs delete mode 100644 src/Database/Api/IInformaticsGatewayRepository.cs create mode 100644 src/Database/Api/Logging/Log.9000.cs create mode 100644 src/Database/Api/Repositories/IDestinationApplicationEntityRepository.cs rename src/{InformaticsGateway => Database/Api}/Repositories/IInferenceRequestRepository.cs (74%) create mode 100644 src/Database/Api/Repositories/IMonaiApplicationEntityRepository.cs create mode 100644 src/Database/Api/Repositories/IPayloadRepository.cs create mode 100644 src/Database/Api/Repositories/ISourceApplicationEntityRepository.cs rename src/{InformaticsGateway/Repositories/IStorageMetadataWrapperRepository.cs => Database/Api/Repositories/IStorageMetadataRepository.cs} (70%) create mode 100644 src/Database/Api/Repositories/InferenceRequestRepositoryBase.cs create mode 100644 src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs create mode 100644 src/Database/Api/Test/packages.lock.json create mode 100644 src/Database/Api/packages.lock.json delete mode 100644 src/Database/EntityFramework/InformaticsGatewayRepository.cs create mode 100644 src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.Designer.cs create mode 100644 src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs create mode 100644 src/Database/EntityFramework/Repositories/DestinationApplicationEntityRepository.cs create mode 100644 src/Database/EntityFramework/Repositories/InferenceRequestRepository.cs create mode 100644 src/Database/EntityFramework/Repositories/MonaiApplicationEntityRepository.cs create mode 100644 src/Database/EntityFramework/Repositories/PayloadRepository.cs create mode 100644 src/Database/EntityFramework/Repositories/SourceApplicationEntityRepository.cs create mode 100644 src/Database/EntityFramework/Repositories/StorageMetadataWrapperRepository.cs create mode 100644 src/Database/EntityFramework/Test/DestinationApplicationEntityRepositoryTest.cs create mode 100644 src/Database/EntityFramework/Test/InMemoryDatabaseFixture.cs create mode 100644 src/Database/EntityFramework/Test/InferenceRequestRepositoryTest.cs create mode 100644 src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj create mode 100644 src/Database/EntityFramework/Test/MonaiApplicationEntityRepositoryTest.cs create mode 100644 src/Database/EntityFramework/Test/SourceApplicationEntityRepositoryTest.cs create mode 100644 src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs create mode 100644 src/Database/EntityFramework/Test/StorageMetadataWrapperRepositoryTest.cs rename src/Database/{Api => EntityFramework}/Test/StorageMetadataWrapperTest.cs (98%) create mode 100644 src/Database/EntityFramework/Test/Usings.cs create mode 100644 src/Database/EntityFramework/Test/packages.lock.json rename src/Database/{ => EntityFramework}/appsettings.json (100%) create mode 100644 src/Database/EntityFramework/packages.lock.json create mode 100644 src/Database/MongoDB/Configurations/DestinationApplicationEntityConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/InferenceRequestConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/MongoDBOptions.cs create mode 100644 src/Database/MongoDB/Configurations/PayloadConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/SourceApplicationEntityConfiguration.cs create mode 100644 src/Database/MongoDB/Configurations/StorageMetadataWrapperEntityConfiguration.cs create mode 100644 src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj create mode 100644 src/Database/MongoDB/MongoDatabaseMigrationManager.cs create mode 100644 src/Database/MongoDB/Repositories/DestinationApplicationEntityRepository.cs create mode 100644 src/Database/MongoDB/Repositories/InferenceRequestRepository.cs create mode 100644 src/Database/MongoDB/Repositories/MonaiApplicationEntityRepository.cs create mode 100644 src/Database/MongoDB/Repositories/PayloadRepository.cs create mode 100644 src/Database/MongoDB/Repositories/SourceApplicationEntityRepository.cs create mode 100644 src/Database/MongoDB/Repositories/StorageMetadataWrapperRepository.cs create mode 100644 src/Database/MongoDB/packages.lock.json create mode 100644 src/Database/packages.lock.json create mode 100644 src/DicomWebClient/CLI/packages.lock.json create mode 100644 src/DicomWebClient/Test/packages.lock.json create mode 100644 src/DicomWebClient/packages.lock.json create mode 100644 src/InformaticsGateway/Common/FileMoveException.cs create mode 100644 src/InformaticsGateway/Common/FileUploadException.cs delete mode 100644 src/InformaticsGateway/Common/PayloadExtensions.cs delete mode 100644 src/InformaticsGateway/Logging/Log.2100.StorageInfoWrapperRepository.cs delete mode 100644 src/InformaticsGateway/Repositories/InferenceRequestRepository.cs delete mode 100644 src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs delete mode 100644 src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs delete mode 100644 src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs delete mode 100644 src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs create mode 100644 src/InformaticsGateway/Test/packages.lock.json create mode 100644 src/InformaticsGateway/packages.lock.json create mode 100644 tests/Integration.Test/Drivers/MongoDBDataProvider.cs create mode 100644 tests/Integration.Test/appsettings.ef.json create mode 100644 tests/Integration.Test/appsettings.mongodb.json create mode 100644 tests/Integration.Test/packages.lock.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61e14f6ae..c7885b964 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -230,14 +230,16 @@ jobs: verbose: true integration-test: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest timeout-minutes: 30 strategy: matrix: feature: [AcrApi, DicomDimseScp, DicomDimseScu, DicomWebExport, DicomWebStow, HealthLevel7, Fhir] + database: [ef, mongodb] fail-fast: false env: TAG: ${{ needs.build.outputs.TAG }} + DOTNET_TEST: ${{ matrix.database }} steps: - name: Checkout repository uses: actions/checkout@v3 diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 2a8135a09..dba118184 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -102,7 +102,7 @@ - :who: mocsharp :why: MIT (https://github.com/GitTools/GitVersion/raw/main/LICENSE) :versions: - - 5.10.3 + - 5.11.1 :when: 2022-08-16 23:05:34.633372053 Z - - :approve - HL7-dotnetcore @@ -328,63 +328,63 @@ - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:49.698463427 Z - - :approve - Microsoft.EntityFrameworkCore - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:50.137694970 Z - - :approve - Microsoft.EntityFrameworkCore.Abstractions - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:51.008105271 Z - - :approve - Microsoft.EntityFrameworkCore.Analyzers - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:51.445711308 Z - - :approve - Microsoft.EntityFrameworkCore.Design - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:51.922790944 Z - - :approve - Microsoft.EntityFrameworkCore.InMemory - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:52.375150938 Z - - :approve - Microsoft.EntityFrameworkCore.Relational - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:52.828879230 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:53.270526921 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite.Core - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-16 23:05:53.706997823 Z - - :approve - Microsoft.Extensions.ApiDescription.Server @@ -526,6 +526,7 @@ :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - 6.0.10 + - 6.0.11 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions @@ -533,13 +534,14 @@ :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - 6.0.10 + - 6.0.11 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore - :who: mocsharp :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) :versions: - - 6.0.10 + - 6.0.11 :when: 2022-08-29 18:11:22.090772006 Z - - :approve - Microsoft.Extensions.FileProviders.Abstractions @@ -605,6 +607,7 @@ - 6.0.0 - 6.0.1 - 6.0.2 + - 6.0.3 :when: 2022-08-16 23:06:06.728283354 Z - - :approve - Microsoft.Extensions.Logging.Configuration @@ -703,6 +706,7 @@ :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 3.0.0 + - 5.0.0 :when: 2022-08-16 23:06:13.902743611 Z - - :approve - Microsoft.NETCore.Targets @@ -791,14 +795,14 @@ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.17-rc0020 + - 0.1.16 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.17-rc0020 + - 0.1.16 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage @@ -1543,6 +1547,7 @@ :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - 4.5.0 + - 5.0.0 :when: 2022-08-16 23:07:11.063425328 Z - - :approve - System.Security.Claims @@ -1634,6 +1639,7 @@ :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 4.5.0 + - 5.0.0 :when: 2022-08-16 23:07:17.059464936 Z - - :approve - System.Text.Encoding @@ -1684,7 +1690,7 @@ :versions: - 6.0.0 - 6.0.5 - - 6.0.6 + - 6.0.7 :when: 2022-08-16 23:07:20.787263056 Z - - :approve - System.Text.RegularExpressions @@ -2380,3 +2386,73 @@ :versions: - 5.0.3 :when: 2022-10-12 03:14:08.789273776 Z +- - :approve + - DnsClient + - :who: mocsharp + :why: Apache-2.0 (https://github.com/MichaCo/DnsClient.NET/raw/dev/LICENSE) + :versions: + - 1.6.1 + :when: 2022-11-16 23:33:33.315560769 Z +- - :approve + - Snappier + - :who: mocsharp + :why: BSD-3-Clause (https://github.com/brantburnett/Snappier/raw/main/COPYING.txt) + :versions: + - 1.0.0 + :when: 2022-10-14 23:37:36.642306800 Z +- - :approve + - ZstdSharp.Port + - :who: mocsharp + :why: MIT (https://github.com/oleg-st/ZstdSharp/raw/master/LICENSE) + :versions: + - 0.6.2 + :when: 2022-10-14 23:38:32.685243680 Z +- - :approve + - Microsoft.Win32.Registry + - :who: mocsharp + :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + :versions: + - 5.0.0 + :when: 2022-11-16 23:38:53.540718932 Z +- - :approve + - MongoDB.Bson + - :who: mocsharp + :why: Apache-2.0 (https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + :versions: + - 2.18.0 + :when: 2022-11-16 23:38:53.891380809 Z +- - :approve + - MongoDB.Driver + - :who: mocsharp + :why: Apache-2.0 (https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + :versions: + - 2.18.0 + :when: 2022-11-16 23:38:54.213853364 Z +- - :approve + - MongoDB.Driver.Core + - :who: mocsharp + :why: Apache-2.0 (https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + :versions: + - 2.18.0 + :when: 2022-11-16 23:38:54.553730219 Z +- - :approve + - MongoDB.Libmongocrypt + - :who: mocsharp + :why: Apache-2.0 (https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + :versions: + - 1.6.0 + :when: 2022-11-16 23:38:54.863359236 Z +- - :approve + - SharpCompress + - :who: mocsharp + :why: MIT (https://github.com/adamhathcock/sharpcompress/raw/master/LICENSE.txt) + :versions: + - 0.30.1 + :when: 2022-11-16 23:38:55.192078193 Z +- - :approve + - SharpCompress + - :who: mocsharp + :why: MIT (https://github.com/adamhathcock/sharpcompress/raw/master/LICENSE.txt) + :versions: + - 0.30.1 + :when: 2022-11-16 23:38:55.532789254 Z diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index eba0d0c9f..b20931435 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -68,7 +68,7 @@ services: networks: - monaideploy healthcheck: - test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/productiondb --quiet + test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/productiondb --quiet interval: 10s timeout: 10s retries: 5 diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index c85456584..a08b001a8 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -1072,14 +1072,14 @@ SOFTWARE. <details> -<summary>GitVersion.MsBuild 5.10.3</summary> +<summary>GitVersion.MsBuild 5.11.1</summary> ## GitVersion.MsBuild -- Version: 5.10.3 +- Version: 5.11.1 - Authors: GitTools and Contributors - Project URL: https://github.com/GitTools/GitVersion -- Source: [NuGet](https://www.nuget.org/packages/GitVersion.MsBuild/5.10.3) +- Source: [NuGet](https://www.nuget.org/packages/GitVersion.MsBuild/5.11.1) - License: [MIT](https://github.com/GitTools/GitVersion/raw/main/LICENSE) @@ -3015,14 +3015,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.11</summary> ## Microsoft.EntityFrameworkCore -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3056,14 +3056,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -4680,14 +4680,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Abstractions 6.0.2</summary> +<summary>Microsoft.Extensions.Logging.Abstractions 6.0.3</summary> ## Microsoft.Extensions.Logging.Abstractions -- Version: 6.0.2 +- Version: 6.0.3 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.2) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.3) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -24897,14 +24897,14 @@ SOFTWARE. <details> -<summary>System.Text.Json 6.0.6</summary> +<summary>System.Text.Json 6.0.7</summary> ## System.Text.Json -- Version: 6.0.6 +- Version: 6.0.7 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Text.Json/6.0.6) +- Source: [NuGet](https://www.nuget.org/packages/System.Text.Json/6.0.7) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) diff --git a/src/Api/BaseApplicationEntity.cs b/src/Api/BaseApplicationEntity.cs index bd74246b4..0ead8f071 100644 --- a/src/Api/BaseApplicationEntity.cs +++ b/src/Api/BaseApplicationEntity.cs @@ -23,7 +23,7 @@ namespace Monai.Deploy.InformaticsGateway.Api /// <remarks> /// * [Application Entity](http://www.otpedia.com/entryDetails.cfm?id=137) /// </remarks> - public class BaseApplicationEntity + public class BaseApplicationEntity : MongoDBEntityBase { /// <summary> /// Gets or sets the unique name used to identify a DICOM application entity. @@ -51,5 +51,10 @@ public void SetDefaultValues() if (string.IsNullOrWhiteSpace(Name)) Name = AeTitle; } + + public override string ToString() + { + return $"Name: {Name}/AET: {AeTitle}/Host: {HostIp}"; + } } } diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index cb68750ae..1810e2869 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -22,15 +22,16 @@ <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsTrimmable>true</IsTrimmable> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.10" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0020" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.11" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.16" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> </ItemGroup> diff --git a/src/Api/MonaiApplicationEntity.cs b/src/Api/MonaiApplicationEntity.cs index 621c23579..b98adf9d4 100644 --- a/src/Api/MonaiApplicationEntity.cs +++ b/src/Api/MonaiApplicationEntity.cs @@ -15,6 +15,7 @@ * limitations under the License. */ +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; @@ -44,7 +45,7 @@ namespace Monai.Deploy.InformaticsGateway.Api /// } /// </code> /// </example> - public class MonaiApplicationEntity + public class MonaiApplicationEntity : MongoDBEntityBase { /// <summary> /// Gets or sets the name of a MONAI DICOM application entity. @@ -106,20 +107,16 @@ public void SetDefaultValues() Grouping = "0020,000D"; } - if (Workflows is null) - { - Workflows = new List<string>(); - } + Workflows ??= new List<string>(); - if (IgnoredSopClasses is null) - { - IgnoredSopClasses = new List<string>(); - } + IgnoredSopClasses ??= new List<string>(); - if (AllowedSopClasses is null) - { - AllowedSopClasses = new List<string>(); - } + AllowedSopClasses ??= new List<string>(); + } + + public override string ToString() + { + return $"Name: {Name}/AET: {AeTitle}"; } } } diff --git a/src/Api/MongoDBEntityBase.cs b/src/Api/MongoDBEntityBase.cs new file mode 100644 index 000000000..41b206a6e --- /dev/null +++ b/src/Api/MongoDBEntityBase.cs @@ -0,0 +1,39 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; + +namespace Monai.Deploy.InformaticsGateway.Api +{ + public abstract class MongoDBEntityBase + { + /// <summary> + /// Gets or set the MongoDB associated identifier. + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// Gets or set the date and time the objects first created. + /// </summary> + public DateTime DateTimeCreated { get; set; } + + protected MongoDBEntityBase() + { + Id = Guid.NewGuid(); + DateTimeCreated = DateTime.UtcNow; + } + } +} diff --git a/src/Api/Rest/InferenceRequest.cs b/src/Api/Rest/InferenceRequest.cs index 6a697c63c..5af67be63 100644 --- a/src/Api/Rest/InferenceRequest.cs +++ b/src/Api/Rest/InferenceRequest.cs @@ -19,6 +19,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json.Serialization; +using System.Xml.Linq; using Ardalis.GuardClauses; using Monai.Deploy.InformaticsGateway.Common; @@ -219,7 +220,7 @@ private bool Validate(out string details) private void ValidateOUtputResources(List<string> errors) { - Guard.Against.Null(errors, nameof(errors)); + Guard.Against.Null(errors); if (InputMetadata.Inputs.IsNullOrEmpty()) { @@ -236,7 +237,7 @@ private void ValidateOUtputResources(List<string> errors) private void ValidateInputMetadata(List<string> errors) { - Guard.Against.Null(errors, nameof(errors)); + Guard.Against.Null(errors); foreach (var output in OutputResources) { @@ -253,7 +254,7 @@ private void ValidateInputMetadata(List<string> errors) private void ValidateInputResources(List<string> errors) { - Guard.Against.Null(errors, nameof(errors)); + Guard.Against.Null(errors); if (InputResources.IsNullOrEmpty() || !InputResources.Any(predicate => predicate.Interface != InputInterfaceType.Algorithm)) @@ -308,8 +309,8 @@ private static void CheckInputMetadataDetails(InferenceRequestDetails details, L private static void CheckInputMetadataWithTypeFhirResource(InferenceRequestDetails details, List<string> errors) { - Guard.Against.Null(details, nameof(details)); - Guard.Against.Null(errors, nameof(errors)); + Guard.Against.Null(details); + Guard.Against.Null(errors); if (details.Resources.IsNullOrEmpty()) { @@ -323,8 +324,8 @@ private static void CheckInputMetadataWithTypeFhirResource(InferenceRequestDetai private static void CheckInputMetadataWithTypDicomUid(InferenceRequestDetails details, List<string> errors) { - Guard.Against.Null(details, nameof(details)); - Guard.Against.Null(errors, nameof(errors)); + Guard.Against.Null(details); + Guard.Against.Null(errors); if (details.Studies.IsNullOrEmpty()) { @@ -384,5 +385,10 @@ private static void CheckDicomWebConnectionDetails(string source, List<string> e errors.Add($"The provided URI '{connection.Uri}' is not well formed."); } } + + public override string ToString() + { + return $"InferenceRequestId: {InferenceRequestId}/TransactionId: {TransactionId}"; + } } } diff --git a/src/Api/Storage/DicomFileStorageMetadata.cs b/src/Api/Storage/DicomFileStorageMetadata.cs index 2615ade04..d1a4d19d7 100644 --- a/src/Api/Storage/DicomFileStorageMetadata.cs +++ b/src/Api/Storage/DicomFileStorageMetadata.cs @@ -98,11 +98,11 @@ public DicomFileStorageMetadata() { } public DicomFileStorageMetadata(string associationId, string identifier, string studyInstanceUid, string seriesInstanceUid, string sopInstanceUid) : base(associationId.ToString(), identifier) { - Guard.Against.NullOrWhiteSpace(associationId, nameof(associationId)); - Guard.Against.NullOrWhiteSpace(identifier, nameof(identifier)); - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); - Guard.Against.NullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid)); + Guard.Against.NullOrWhiteSpace(associationId); + Guard.Against.NullOrWhiteSpace(identifier); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); + Guard.Against.NullOrWhiteSpace(sopInstanceUid); StudyInstanceUid = studyInstanceUid; SeriesInstanceUid = seriesInstanceUid; diff --git a/src/Api/Storage/FhirFileStorageMetadata.cs b/src/Api/Storage/FhirFileStorageMetadata.cs index c7d87db8f..c98629cc6 100644 --- a/src/Api/Storage/FhirFileStorageMetadata.cs +++ b/src/Api/Storage/FhirFileStorageMetadata.cs @@ -69,9 +69,9 @@ public FhirFileStorageMetadata() { } public FhirFileStorageMetadata(string transactionId, string resourceType, string resourceId, FhirStorageFormat fhirFileFormat) : base(transactionId, $"{resourceType}{PathSeparator}{resourceId}") { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.NullOrWhiteSpace(resourceType, nameof(resourceType)); - Guard.Against.NullOrWhiteSpace(resourceId, nameof(resourceId)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.NullOrWhiteSpace(resourceType); + Guard.Against.NullOrWhiteSpace(resourceId); Source = transactionId; ResourceType = resourceType; diff --git a/src/Api/Storage/FileStorageMetadata.cs b/src/Api/Storage/FileStorageMetadata.cs index fc1cacdbc..53c44a410 100644 --- a/src/Api/Storage/FileStorageMetadata.cs +++ b/src/Api/Storage/FileStorageMetadata.cs @@ -92,8 +92,8 @@ protected FileStorageMetadata() { } protected FileStorageMetadata(string correlationId, string identifier) { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(identifier, nameof(identifier)); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(identifier); CorrelationId = correlationId; Id = identifier; @@ -107,7 +107,7 @@ protected FileStorageMetadata(string correlationId, string identifier) /// <param name="workflows">List of workflows.</param> public void SetWorkflows(params string[] workflows) { - Guard.Against.NullOrEmpty(workflows, nameof(workflows)); + Guard.Against.NullOrEmpty(workflows); Workflows.AddRange(workflows); } diff --git a/src/Api/Storage/Hl7FileStorageMetadata.cs b/src/Api/Storage/Hl7FileStorageMetadata.cs index 2ba1b69cf..606a65499 100644 --- a/src/Api/Storage/Hl7FileStorageMetadata.cs +++ b/src/Api/Storage/Hl7FileStorageMetadata.cs @@ -48,7 +48,7 @@ public Hl7FileStorageMetadata() { } public Hl7FileStorageMetadata(string connectionId) : base(connectionId, Guid.NewGuid().ToString()) { - Guard.Against.NullOrWhiteSpace(connectionId, nameof(connectionId)); + Guard.Against.NullOrWhiteSpace(connectionId); Source = connectionId; diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index af584bb20..80a2ccbb1 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -18,7 +18,9 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Transactions; using Ardalis.GuardClauses; +using Monai.Deploy.InformaticsGateway.Api.Rest; namespace Monai.Deploy.InformaticsGateway.Api.Storage { @@ -46,7 +48,7 @@ public enum PayloadState private readonly Stopwatch _lastReceived; private bool _disposedValue; - public Guid Id { get; } + public Guid PayloadId { get; } public uint Timeout { get; init; } @@ -66,7 +68,8 @@ public enum PayloadState public bool HasTimedOut { get => ElapsedTime().TotalSeconds >= Timeout; } - public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } + public TimeSpan Elapsed + { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } @@ -74,14 +77,14 @@ public enum PayloadState public Payload(string key, string correlationId, uint timeout) { - Guard.Against.NullOrWhiteSpace(key, nameof(key)); + Guard.Against.NullOrWhiteSpace(key); Files = new List<FileStorageMetadata>(); _lastReceived = new Stopwatch(); CorrelationId = correlationId; DateTimeCreated = DateTime.UtcNow; - Id = Guid.NewGuid(); + PayloadId = Guid.NewGuid(); Key = key; State = PayloadState.Created; RetryCount = 0; @@ -90,7 +93,7 @@ public Payload(string key, string correlationId, uint timeout) public void Add(FileStorageMetadata value) { - Guard.Against.Null(value, nameof(value)); + Guard.Against.Null(value); Files.Add(value); _lastReceived.Reset(); @@ -121,6 +124,11 @@ protected virtual void Dispose(bool disposing) } } + public override string ToString() + { + return $"PayloadId: {PayloadId}/Key: {Key}"; + } + public void Dispose() { // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index fae88b73a..6b1b03bd6 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -90,7 +90,7 @@ public class StorageObjectMetadata public StorageObjectMetadata(string fileExtension) { - Guard.Against.NullOrWhiteSpace(fileExtension, nameof(fileExtension)); + Guard.Against.NullOrWhiteSpace(fileExtension); if (fileExtension[0] != '.') { @@ -103,20 +103,20 @@ public StorageObjectMetadata(string fileExtension) public string GetTempStoragPath(string rootPath) { - Guard.Against.NullOrWhiteSpace(rootPath, nameof(rootPath)); + Guard.Against.NullOrWhiteSpace(rootPath); return $"{rootPath}{FileStorageMetadata.PathSeparator}{TemporaryPath}"; } public string GetPayloadPath(Guid payloadId) { - Guard.Against.Null(payloadId, nameof(payloadId)); + Guard.Against.Null(payloadId); return $"{payloadId}{FileStorageMetadata.PathSeparator}{UploadPath}"; } public void SetUploaded(string bucketName) { - Guard.Against.NullOrWhiteSpace(bucketName, nameof(bucketName)); + Guard.Against.NullOrWhiteSpace(bucketName); TemporaryBucketName = bucketName; DateUploaded = DateTime.UtcNow; @@ -155,7 +155,7 @@ public void SetFailed() public void SetMoved(string bucketName) { - Guard.Against.NullOrEmpty(bucketName, nameof(bucketName)); + Guard.Against.NullOrEmpty(bucketName); PayloadBucketName = bucketName; DateMoved = DateTime.UtcNow; diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index e9a2fc0f8..4a04855a4 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -21,6 +21,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Api.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json new file mode 100644 index 000000000..0abd2bb19 --- /dev/null +++ b/src/Api/Test/packages.lock.json @@ -0,0 +1,1288 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "dependencies": { + "System.IO.Abstractions": "17.2.3" + } + }, + "xRetry": { + "type": "Direct", + "requested": "[1.8.0, )", + "resolved": "1.8.0", + "contentHash": "H8KXWHBjQASwD4y/7L2j7j4KLmg8z4+mCV4atrhZvJVnCkVSKLkWe1lfKGmaCYkKt2dJnC4yH+tJXGqthSkGGg==", + "dependencies": { + "xunit.core": "[2.4.0, 3.0.0)" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json new file mode 100644 index 000000000..725b8e793 --- /dev/null +++ b/src/Api/packages.lock.json @@ -0,0 +1,290 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Macross.Json.Extensions": { + "type": "Direct", + "requested": "[3.0.0, )", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Monai.Deploy.Messaging": { + "type": "Direct", + "requested": "[0.1.16, )", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Direct", + "requested": "[0.2.10, )", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/CLI/Commands/AetCommand.cs b/src/CLI/Commands/AetCommand.cs index d7a3c51ed..dcaa01b65 100644 --- a/src/CLI/Commands/AetCommand.cs +++ b/src/CLI/Commands/AetCommand.cs @@ -102,7 +102,7 @@ private void SetupAddAetCommand() private async Task<int> ListAeTitlehandlerAsync(IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); @@ -170,8 +170,8 @@ private async Task<int> ListAeTitlehandlerAsync(IHost host, bool verbose, Cancel private async Task<int> RemoveAeTitlehandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.NullOrWhiteSpace(name); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -206,8 +206,8 @@ private async Task<int> RemoveAeTitlehandlerAsync(string name, IHost host, bool private async Task<int> AddAeTitlehandlerAsync(MonaiApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); diff --git a/src/CLI/Commands/CommandBase.cs b/src/CLI/Commands/CommandBase.cs index 1bbff414a..8748a37c0 100644 --- a/src/CLI/Commands/CommandBase.cs +++ b/src/CLI/Commands/CommandBase.cs @@ -33,7 +33,7 @@ public CommandBase(string name, string description) : base(name, description) protected static ILogger CreateLogger<T>(IHost host) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); var loggerFactory = host.Services.GetService<ILoggerFactory>(); return loggerFactory?.CreateLogger<T>(); @@ -41,8 +41,8 @@ protected static ILogger CreateLogger<T>(IHost host) protected static void LogVerbose(bool verbose, IHost host, string message) { - Guard.Against.Null(host, nameof(host)); - Guard.Against.NullOrWhiteSpace(message, nameof(message)); + Guard.Against.Null(host); + Guard.Against.NullOrWhiteSpace(message); if (verbose) { @@ -62,7 +62,7 @@ protected static void LogVerbose(bool verbose, IHost host, string message) protected static void AddConfirmationOption(Command command) { - Guard.Against.Null(command, nameof(command)); + Guard.Against.Null(command); var confirmationOption = new Option<bool>(new[] { "-y", "--yes" }, "Automatic yes to prompts"); command.AddOption(confirmationOption); @@ -70,7 +70,7 @@ protected static void AddConfirmationOption(Command command) protected static void CheckConfiguration(IConfigurationService configService) { - Guard.Against.Null(configService, nameof(configService)); + Guard.Against.Null(configService); if (!configService.IsInitialized) { diff --git a/src/CLI/Commands/ConfigCommand.cs b/src/CLI/Commands/ConfigCommand.cs index 43e805418..51323b372 100644 --- a/src/CLI/Commands/ConfigCommand.cs +++ b/src/CLI/Commands/ConfigCommand.cs @@ -84,7 +84,7 @@ private void SetupShowConfigCommand() private int ShowConfigurationHandler(IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var logger = CreateLogger<ConfigCommand>(host); @@ -114,8 +114,8 @@ private int ShowConfigurationHandler(IHost host, bool verbose, CancellationToken private static int ConfigUpdateHandler(IHost host, Action<IConfigurationService> updater) { - Guard.Against.Null(host, nameof(host)); - Guard.Against.Null(updater, nameof(updater)); + Guard.Against.Null(host); + Guard.Against.Null(updater); var logger = CreateLogger<ConfigCommand>(host); var config = host.Services.GetRequiredService<IConfigurationService>(); @@ -143,7 +143,7 @@ private static int ConfigUpdateHandler(IHost host, Action<IConfigurationService> private async Task<int> InitHandlerAsync(IHost host, bool verbose, bool yes, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); var logger = CreateLogger<ConfigCommand>(host); var configService = host.Services.GetRequiredService<IConfigurationService>(); diff --git a/src/CLI/Commands/DestinationCommand.cs b/src/CLI/Commands/DestinationCommand.cs index 044000b8f..6e8239a87 100644 --- a/src/CLI/Commands/DestinationCommand.cs +++ b/src/CLI/Commands/DestinationCommand.cs @@ -116,8 +116,8 @@ private void SetupAddDestinationCommand() private async Task<int> ListDestinationHandlerAsync(DestinationApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); @@ -182,8 +182,8 @@ private async Task<int> ListDestinationHandlerAsync(DestinationApplicationEntity private async Task<int> CEchoDestinationHandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.NullOrWhiteSpace(name); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -218,8 +218,8 @@ private async Task<int> CEchoDestinationHandlerAsync(string name, IHost host, bo private async Task<int> RemoveDestinationHandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.NullOrWhiteSpace(name); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -254,8 +254,8 @@ private async Task<int> RemoveDestinationHandlerAsync(string name, IHost host, b private async Task<int> EditDestinationHandlerAsync(DestinationApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -292,8 +292,8 @@ private async Task<int> EditDestinationHandlerAsync(DestinationApplicationEntity private async Task<int> AddDestinationHandlerAsync(DestinationApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); diff --git a/src/CLI/Commands/RestartCommand.cs b/src/CLI/Commands/RestartCommand.cs index ba9cc479f..c9d06653d 100644 --- a/src/CLI/Commands/RestartCommand.cs +++ b/src/CLI/Commands/RestartCommand.cs @@ -35,7 +35,7 @@ public RestartCommand() : base("restart", $"Restart the {Strings.ApplicationName private async Task<int> RestartCommandHandler(IHost host, bool yes, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); var service = host.Services.GetRequiredService<IControlService>(); var confirmation = host.Services.GetRequiredService<IConfirmationPrompt>(); diff --git a/src/CLI/Commands/SourceCommand.cs b/src/CLI/Commands/SourceCommand.cs index dc94e702b..cc1670efd 100644 --- a/src/CLI/Commands/SourceCommand.cs +++ b/src/CLI/Commands/SourceCommand.cs @@ -98,8 +98,8 @@ private void SetupUpdateSourceCommand() private async Task<int> ListSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); @@ -163,8 +163,8 @@ private async Task<int> ListSourceHandlerAsync(SourceApplicationEntity entity, I private async Task<int> RemoveSourceHandlerAsync(string name, IHost host, bool verbose, CancellationToken cancellationTokena) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.NullOrWhiteSpace(name); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -199,8 +199,8 @@ private async Task<int> RemoveSourceHandlerAsync(string name, IHost host, bool v private async Task<int> AddSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); @@ -235,8 +235,8 @@ private async Task<int> AddSourceHandlerAsync(SourceApplicationEntity entity, IH } private async Task<int> UpdateSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) { - Guard.Against.Null(entity, nameof(entity)); - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(entity); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); var configService = host.Services.GetRequiredService<IConfigurationService>(); diff --git a/src/CLI/Commands/StartCommand.cs b/src/CLI/Commands/StartCommand.cs index c59545b6a..3ceb4c574 100644 --- a/src/CLI/Commands/StartCommand.cs +++ b/src/CLI/Commands/StartCommand.cs @@ -35,7 +35,7 @@ public StartCommand() : base("start", $"Start the {Strings.ApplicationName} serv private async Task<int> StartCommandHandler(IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); var service = host.Services.GetRequiredService<IControlService>(); var confirmation = host.Services.GetRequiredService<IConfirmationPrompt>(); diff --git a/src/CLI/Commands/StatusCommand.cs b/src/CLI/Commands/StatusCommand.cs index b64573b71..23cf0fb0a 100644 --- a/src/CLI/Commands/StatusCommand.cs +++ b/src/CLI/Commands/StatusCommand.cs @@ -36,7 +36,7 @@ public StatusCommand() : base("status", $"{Strings.ApplicationName} service stat private async Task<int> StatusCommandHandlerAsync(IHost host, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); LogVerbose(verbose, host, "Configuring services..."); diff --git a/src/CLI/Commands/StopCommand.cs b/src/CLI/Commands/StopCommand.cs index 2b4eef74f..51a031ca1 100644 --- a/src/CLI/Commands/StopCommand.cs +++ b/src/CLI/Commands/StopCommand.cs @@ -35,7 +35,7 @@ public StopCommand() : base("stop", $"Stop the {Strings.ApplicationName} service private async Task<int> StopCommandHandler(IHost host, bool yes, bool verbose, CancellationToken cancellationToken) { - Guard.Against.Null(host, nameof(host)); + Guard.Against.Null(host); var service = host.Services.GetRequiredService<IControlService>(); var confirmation = host.Services.GetRequiredService<IConfirmationPrompt>(); diff --git a/src/CLI/ControlException.cs b/src/CLI/ControlException.cs index 02f27f045..35f9152da 100644 --- a/src/CLI/ControlException.cs +++ b/src/CLI/ControlException.cs @@ -49,7 +49,7 @@ protected ControlException(SerializationInfo info, StreamingContext context) : b public override void GetObjectData(SerializationInfo info, StreamingContext context) { - Guard.Against.Null(info, nameof(info)); + Guard.Against.Null(info); info.AddValue(nameof(ErrorCode), ErrorCode); diff --git a/src/CLI/Logging/ConsoleLogger.cs b/src/CLI/Logging/ConsoleLogger.cs index 0b6c25a9c..38c4f1472 100644 --- a/src/CLI/Logging/ConsoleLogger.cs +++ b/src/CLI/Logging/ConsoleLogger.cs @@ -27,7 +27,7 @@ public class ConsoleLogger : ILogger public ConsoleLogger(string name, ConsoleLoggerConfiguration configuration) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Guard.Against.NullOrWhiteSpace(name); _ = name; _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); diff --git a/src/CLI/Logging/ConsoleLoggerFactoryExtensions.cs b/src/CLI/Logging/ConsoleLoggerFactoryExtensions.cs index 5536b23c5..818118b18 100644 --- a/src/CLI/Logging/ConsoleLoggerFactoryExtensions.cs +++ b/src/CLI/Logging/ConsoleLoggerFactoryExtensions.cs @@ -32,7 +32,7 @@ public static class ConsoleLoggerFactoryExtensions { public static ILoggingBuilder AddInformaticsGatewayConsole(this ILoggingBuilder builder, Action<ConsoleLoggerConfiguration> configure) { - Guard.Against.Null(configure, nameof(configure)); + Guard.Against.Null(configure); builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<ILoggerProvider, ConsoleLoggerProvider>()); LoggerProviderOptions.RegisterProviderOptions<ConsoleLoggerConfiguration, ConsoleLoggerProvider>(builder.Services); diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 5579931ca..9e39fafa6 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -25,6 +25,7 @@ <AssemblyName>mig-cli</AssemblyName> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -50,7 +51,7 @@ <ItemGroup> <PackageReference Include="Crayon" Version="2.0.69" /> <PackageReference Include="Docker.DotNet" Version="3.125.12" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> diff --git a/src/CLI/Services/ConfirmationPrompt.cs b/src/CLI/Services/ConfirmationPrompt.cs index bcef296a7..156f2c7ce 100644 --- a/src/CLI/Services/ConfirmationPrompt.cs +++ b/src/CLI/Services/ConfirmationPrompt.cs @@ -28,7 +28,7 @@ internal class ConfirmationPrompt : IConfirmationPrompt { public bool ShowConfirmationPrompt(string message) { - Guard.Against.NullOrWhiteSpace(message, nameof(message)); + Guard.Against.NullOrWhiteSpace(message); Console.Write($"{message} [y/N]: "); var key = Console.ReadKey(); diff --git a/src/CLI/Services/DockerRunner.cs b/src/CLI/Services/DockerRunner.cs index 20d1c15a0..41bf03d2a 100644 --- a/src/CLI/Services/DockerRunner.cs +++ b/src/CLI/Services/DockerRunner.cs @@ -45,7 +45,7 @@ public DockerRunner(ILogger<DockerRunner> logger, IConfigurationService configur public async Task<RunnerState> IsApplicationRunning(ImageVersion imageVersion, CancellationToken cancellationToken = default) { - Guard.Against.Null(imageVersion, nameof(imageVersion)); + Guard.Against.Null(imageVersion); _logger.CheckingExistingAppContainer(Strings.ApplicationName, imageVersion.Version); var parameters = new ContainersListParameters @@ -72,7 +72,7 @@ public async Task<ImageVersion> GetLatestApplicationVersion(CancellationToken ca public async Task<ImageVersion> GetLatestApplicationVersion(string version, CancellationToken cancellationToken = default) { - Guard.Against.NullOrWhiteSpace(version, nameof(version)); + Guard.Against.NullOrWhiteSpace(version); var results = await GetApplicationVersions(version, cancellationToken).ConfigureAwait(false); return results?.OrderByDescending(p => p.Created).FirstOrDefault(); @@ -83,7 +83,7 @@ public async Task<IList<ImageVersion>> GetApplicationVersions(CancellationToken public async Task<IList<ImageVersion>> GetApplicationVersions(string version, CancellationToken cancellationToken = default) { - Guard.Against.NullOrWhiteSpace(version, nameof(version)); + Guard.Against.NullOrWhiteSpace(version); _logger.ConnectingToDocker(); var parameters = new ImagesListParameters @@ -103,7 +103,7 @@ public async Task<IList<ImageVersion>> GetApplicationVersions(string version, Ca public async Task<bool> StartApplication(ImageVersion imageVersion, CancellationToken cancellationToken = default) { - Guard.Against.Null(imageVersion, nameof(imageVersion)); + Guard.Against.Null(imageVersion); _logger.CreatingDockerContainer(Strings.ApplicationName, imageVersion.Version, imageVersion.IdShort); var createContainerParams = new CreateContainerParameters @@ -168,7 +168,7 @@ public async Task<bool> StartApplication(ImageVersion imageVersion, Cancellation public async Task<bool> StopApplication(RunnerState runnerState, CancellationToken cancellationToken = default) { - Guard.Against.Null(runnerState, nameof(runnerState)); + Guard.Against.Null(runnerState); _logger.DockerContainerStopping(Strings.ApplicationName, runnerState.IdShort); var result = await _dockerClient.Containers.StopContainerAsync(runnerState.Id, new ContainerStopParameters() { WaitBeforeKillSeconds = 60 }, cancellationToken).ConfigureAwait(false); diff --git a/src/CLI/Services/EmbeddedResource.cs b/src/CLI/Services/EmbeddedResource.cs index 9b21c127e..b723e2bee 100644 --- a/src/CLI/Services/EmbeddedResource.cs +++ b/src/CLI/Services/EmbeddedResource.cs @@ -28,7 +28,7 @@ public class EmbeddedResource : IEmbeddedResource { public Stream GetManifestResourceStream(string name) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Guard.Against.NullOrWhiteSpace(name); return GetType().Assembly.GetManifestResourceStream(Common.AppSettingsResourceName); } } diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index 87792e683..53f43febb 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -21,6 +21,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.CLI.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json new file mode 100644 index 000000000..ddab38695 --- /dev/null +++ b/src/CLI/Test/packages.lock.json @@ -0,0 +1,1607 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "System.CommandLine.Hosting": { + "type": "Direct", + "requested": "[0.4.0-alpha.22272.1, )", + "resolved": "0.4.0-alpha.22272.1", + "contentHash": "x9JhHxBLxlKyCIZADFYC8q16L9yGHdTakrLFjHabwR7Tk0761aTexiGgMTIS744HGuhc8pk9MoLUzsr/TlRfMQ==", + "dependencies": { + "Microsoft.Extensions.Hosting": "6.0.0", + "System.CommandLine": "2.0.0-beta4.22272.1", + "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1" + } + }, + "System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "dependencies": { + "System.IO.Abstractions": "17.2.3" + } + }, + "xRetry": { + "type": "Direct", + "requested": "[1.8.0, )", + "resolved": "1.8.0", + "contentHash": "H8KXWHBjQASwD4y/7L2j7j4KLmg8z4+mCV4atrhZvJVnCkVSKLkWe1lfKGmaCYkKt2dJnC4yH+tJXGqthSkGGg==", + "dependencies": { + "xunit.core": "[2.4.0, 3.0.0)" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Crayon": { + "type": "Transitive", + "resolved": "2.0.69", + "contentHash": "eJHxoMTfhZs1782YUIMafXIDTPcTwAV5I3MNsl2d4Mn61/h3ABPMSzHwzigL/NO7BrCKRoP4gHJuERpLHdSCvg==" + }, + "Docker.DotNet": { + "type": "Transitive", + "resolved": "3.125.12", + "contentHash": "lkDh6PUV8SIM1swPCkd3f+8zGB7Z9Am3C2XBLqAjyIIp5jQBCsDFrtbtA1QiVdFMWdYcJscrX/gzzG50kRj0jQ==", + "dependencies": { + "Newtonsoft.Json": "13.0.1", + "System.Buffers": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.CommandLine": { + "type": "Transitive", + "resolved": "2.0.0-beta4.22272.1", + "contentHash": "1uqED/q2H0kKoLJ4+hI2iPSBSEdTuhfCYADeJrAqERmiGQ2NNacYKRNEQ+gFbU4glgVyK8rxI+ZOe1onEtr/Pg==" + }, + "System.CommandLine.NamingConventionBinder": { + "type": "Transitive", + "resolved": "2.0.0-beta4.22272.1", + "contentHash": "ux2eUA/syF+JtlpMDc/Lsd6PBIBuwjH3AvHnestoh5uD0WKT5b+wkQxDWVCqp9qgVjMBTLNhX19ZYFtenunt9A==", + "dependencies": { + "System.CommandLine": "2.0.0-beta4.22272.1" + } + }, + "System.CommandLine.Rendering": { + "type": "Transitive", + "resolved": "0.4.0-alpha.22272.1", + "contentHash": "PQd7HStYn6RYjc5zuerR41sALm3qFDutzDHISB5DYbExSgll6s8zghfyYFdLioLPWpFxVyMj3L9Ki69jqqum/g==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "System.CommandLine": "2.0.0-beta4.22272.1" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "mig-cli": { + "type": "Project", + "dependencies": { + "Crayon": "2.0.69", + "Docker.DotNet": "3.125.12", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "System.CommandLine": "2.0.0-beta4.22272.1", + "System.CommandLine.Hosting": "0.4.0-alpha.22272.1", + "System.CommandLine.Rendering": "0.4.0-alpha.22272.1", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client": { + "type": "Project", + "dependencies": { + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/CLI/packages.lock.json b/src/CLI/packages.lock.json new file mode 100644 index 000000000..09ee1a763 --- /dev/null +++ b/src/CLI/packages.lock.json @@ -0,0 +1,1458 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Crayon": { + "type": "Direct", + "requested": "[2.0.69, )", + "resolved": "2.0.69", + "contentHash": "eJHxoMTfhZs1782YUIMafXIDTPcTwAV5I3MNsl2d4Mn61/h3ABPMSzHwzigL/NO7BrCKRoP4gHJuERpLHdSCvg==" + }, + "Docker.DotNet": { + "type": "Direct", + "requested": "[3.125.12, )", + "resolved": "3.125.12", + "contentHash": "lkDh6PUV8SIM1swPCkd3f+8zGB7Z9Am3C2XBLqAjyIIp5jQBCsDFrtbtA1QiVdFMWdYcJscrX/gzzG50kRj0jQ==", + "dependencies": { + "Newtonsoft.Json": "13.0.1", + "System.Buffers": "4.5.1", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "System.CommandLine": { + "type": "Direct", + "requested": "[2.0.0-beta4.22272.1, )", + "resolved": "2.0.0-beta4.22272.1", + "contentHash": "1uqED/q2H0kKoLJ4+hI2iPSBSEdTuhfCYADeJrAqERmiGQ2NNacYKRNEQ+gFbU4glgVyK8rxI+ZOe1onEtr/Pg==" + }, + "System.CommandLine.Hosting": { + "type": "Direct", + "requested": "[0.4.0-alpha.22272.1, )", + "resolved": "0.4.0-alpha.22272.1", + "contentHash": "x9JhHxBLxlKyCIZADFYC8q16L9yGHdTakrLFjHabwR7Tk0761aTexiGgMTIS744HGuhc8pk9MoLUzsr/TlRfMQ==", + "dependencies": { + "Microsoft.Extensions.Hosting": "6.0.0", + "System.CommandLine": "2.0.0-beta4.22272.1", + "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1" + } + }, + "System.CommandLine.Rendering": { + "type": "Direct", + "requested": "[0.4.0-alpha.22272.1, )", + "resolved": "0.4.0-alpha.22272.1", + "contentHash": "PQd7HStYn6RYjc5zuerR41sALm3qFDutzDHISB5DYbExSgll6s8zghfyYFdLioLPWpFxVyMj3L9Ki69jqqum/g==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "System.CommandLine": "2.0.0-beta4.22272.1" + } + }, + "System.IO.Abstractions": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.CommandLine.NamingConventionBinder": { + "type": "Transitive", + "resolved": "2.0.0-beta4.22272.1", + "contentHash": "ux2eUA/syF+JtlpMDc/Lsd6PBIBuwjH3AvHnestoh5uD0WKT5b+wkQxDWVCqp9qgVjMBTLNhX19ZYFtenunt9A==", + "dependencies": { + "System.CommandLine": "2.0.0-beta4.22272.1" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client": { + "type": "Project", + "dependencies": { + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj b/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj index f0ccd7f79..1d7713966 100644 --- a/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj +++ b/src/Client.Common/Monai.Deploy.InformaticsGateway.Client.Common.csproj @@ -23,14 +23,15 @@ <IsTrimmable>true</IsTrimmable> <ProduceReferenceAssembly>True</ProduceReferenceAssembly> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="System.Text.Json" Version="6.0.6" /> + <PackageReference Include="System.Text.Json" Version="6.0.7" /> </ItemGroup> <ItemGroup> diff --git a/src/Client.Common/ProblemException.cs b/src/Client.Common/ProblemException.cs index 3565c1161..81989b0f7 100644 --- a/src/Client.Common/ProblemException.cs +++ b/src/Client.Common/ProblemException.cs @@ -28,7 +28,7 @@ public class ProblemException : Exception public ProblemException(ProblemDetails problemDetails) : base(problemDetails?.Detail) { - Guard.Against.Null(problemDetails, nameof(problemDetails)); + Guard.Against.Null(problemDetails); ProblemDetails = problemDetails; } @@ -42,7 +42,7 @@ public override void GetObjectData(SerializationInfo info, StreamingContext cont { if (info == null) { - throw new ArgumentNullException("info"); + throw new ArgumentNullException(nameof(info)); } info.AddValue(nameof(ProblemDetails), ProblemDetails, typeof(ProblemDetails)); diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index e31db45ae..a587df6c5 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -22,6 +22,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Client.Common/Test/packages.lock.json b/src/Client.Common/Test/packages.lock.json new file mode 100644 index 000000000..a5cca0241 --- /dev/null +++ b/src/Client.Common/Test/packages.lock.json @@ -0,0 +1,1095 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "xRetry": { + "type": "Direct", + "requested": "[1.8.0, )", + "resolved": "1.8.0", + "contentHash": "H8KXWHBjQASwD4y/7L2j7j4KLmg8z4+mCV4atrhZvJVnCkVSKLkWe1lfKGmaCYkKt2dJnC4yH+tJXGqthSkGGg==", + "dependencies": { + "xunit.core": "[2.4.0, 3.0.0)" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", + "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" + } + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "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" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + } + } + } +} \ No newline at end of file diff --git a/src/Client.Common/packages.lock.json b/src/Client.Common/packages.lock.json new file mode 100644 index 000000000..2b8dfa262 --- /dev/null +++ b/src/Client.Common/packages.lock.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "System.Text.Json": { + "type": "Direct", + "requested": "[6.0.7, )", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + } + } + } +} \ No newline at end of file diff --git a/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj b/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj index cef8c094b..ea2ce1a6f 100644 --- a/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj +++ b/src/Client/Monai.Deploy.InformaticsGateway.Client.csproj @@ -21,10 +21,11 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Client</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" /> diff --git a/src/Client/Services/AeTitle{T}Service.cs b/src/Client/Services/AeTitle{T}Service.cs index 45f5779c5..e804cc1be 100644 --- a/src/Client/Services/AeTitle{T}Service.cs +++ b/src/Client/Services/AeTitle{T}Service.cs @@ -49,15 +49,15 @@ internal class AeTitleService<T> : ServiceBase, IAeTitleService<T> public AeTitleService(string route, HttpClient httpClient, ILogger logger = null) : base(httpClient, logger) { - Guard.Against.NullOrWhiteSpace(route, nameof(route)); - Guard.Against.Null(httpClient, nameof(httpClient)); + Guard.Against.NullOrWhiteSpace(route); + Guard.Against.Null(httpClient); Route = route; } public async Task<T> Create(T item, CancellationToken cancellationToken) { - Guard.Against.Null(item, nameof(item)); + Guard.Against.Null(item); Logger.SendingRequestTo(Route); var response = await HttpClient.PostAsJsonAsync(Route, item, Configuration.JsonSerializationOptions, cancellationToken).ConfigureAwait(false); @@ -68,7 +68,7 @@ public async Task<T> Create(T item, CancellationToken cancellationToken) public async Task<T> Delete(string aeTitle, CancellationToken cancellationToken) { aeTitle = Uri.EscapeDataString(aeTitle); - Guard.Against.NullOrWhiteSpace(aeTitle, nameof(aeTitle)); + Guard.Against.NullOrWhiteSpace(aeTitle); Logger.SendingRequestTo($"{Route}/{aeTitle}"); var response = await HttpClient.DeleteAsync($"{Route}/{aeTitle}", cancellationToken).ConfigureAwait(false); await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); @@ -78,7 +78,7 @@ public async Task<T> Delete(string aeTitle, CancellationToken cancellationToken) public async Task<T> GetAeTitle(string aeTitle, CancellationToken cancellationToken) { aeTitle = Uri.EscapeDataString(aeTitle); - Guard.Against.NullOrWhiteSpace(aeTitle, nameof(aeTitle)); + Guard.Against.NullOrWhiteSpace(aeTitle); Logger.SendingRequestTo($"{Route}/{aeTitle}"); var response = await HttpClient.GetAsync($"{Route}/{aeTitle}", cancellationToken).ConfigureAwait(false); await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); @@ -101,7 +101,7 @@ public async Task CEcho(string name, CancellationToken cancellationToken) throw new NotSupportedException($"C-ECHO is not supported for {typeof(T).Name}"); } name = Uri.EscapeDataString(name); - Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Guard.Against.NullOrWhiteSpace(name); Logger.SendingRequestTo($"{Route}/{name}"); var response = await HttpClient.GetAsync($"{Route}/cecho/{name}", cancellationToken).ConfigureAwait(false); await response.EnsureSuccessStatusCodeWithProblemDetails(Logger).ConfigureAwait(false); @@ -109,7 +109,7 @@ public async Task CEcho(string name, CancellationToken cancellationToken) public async Task<T> Update(T item, CancellationToken cancellationToken) { - Guard.Against.Null(item, nameof(item)); + Guard.Against.Null(item); Logger.SendingRequestTo(Route); var response = await HttpClient.PutAsJsonAsync(Route, item, Configuration.JsonSerializationOptions, cancellationToken).ConfigureAwait(false); diff --git a/src/Client/Services/HealthService.cs b/src/Client/Services/HealthService.cs index 1d9be5472..7b7a5b4ab 100644 --- a/src/Client/Services/HealthService.cs +++ b/src/Client/Services/HealthService.cs @@ -39,7 +39,7 @@ internal class HealthService : ServiceBase, IHealthService public HealthService(HttpClient httpClient, ILogger logger = null) : base(httpClient, logger) { - Guard.Against.Null(httpClient, nameof(httpClient)); + Guard.Against.Null(httpClient); } public async Task<string> Live(CancellationToken cancellationToken) => await LiveReady("live", cancellationToken).ConfigureAwait(false); diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index a6bcc9060..91c4bb66a 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -21,6 +21,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Client.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json new file mode 100644 index 000000000..ce13c18af --- /dev/null +++ b/src/Client/Test/packages.lock.json @@ -0,0 +1,1738 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "DotNext": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "DotNext.Threading": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "dependencies": { + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom.NLog": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "k35FD+C9IcpTLjCF5tvCkBGUxJ+YvzoBsgb2VAtGQv+aVTu+HyoCnNVqccc4lVE53fbVCwpR3gPiTAnm5fm+KQ==", + "dependencies": { + "NLog": "4.7.11", + "fo-dicom": "5.0.3" + } + }, + "HL7-dotnetcore": { + "type": "Transitive", + "resolved": "2.29.0", + "contentHash": "E0N/W72HsvIJj6XGyiUv9BHmyhvkNedpa23QN/Xwk47S965NYC9JSA1VVYWAAs4J6yOIhpM3lBOEWvhQBO31Lw==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "3.3.1", + "contentHash": "wkPTc/UEuSAwbO3/Ee+oCdotxncmc/DKwjM533Z0BKvJm94NLOvU2i7pifgMd6uAUJ8jy69OcFZRu7hXKbMW6g==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "6.0.5", + "contentHash": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.3", + "contentHash": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Minio": { + "type": "Transitive", + "resolved": "4.0.6", + "contentHash": "c/7hO1I0/PB1hJr7HXuNxsTT59xi4ADPxHhGtv7zzTNZqDqq+Vgv+C8xSJ6rlIy4px7ibhMt6Kunq20ZBlLj4Q==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.1", + "System.Reactive.Linq": "5.0.0", + "System.ValueTuple": "4.4.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Messaging.RabbitMQ": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "dependencies": { + "Monai.Deploy.Messaging": "0.1.16", + "Polly": "7.2.3", + "RabbitMQ.Client": "6.4.0", + "System.Collections.Concurrent": "4.3.0" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.MinIO": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Minio": "4.0.6", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.S3Policy": "0.2.10" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NLog": { + "type": "Transitive", + "resolved": "5.0.5", + "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + }, + "NLog.Extensions.Logging": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "NLog": "5.0.5" + } + }, + "NLog.Web.AspNetCore": { + "type": "Transitive", + "resolved": "5.1.5", + "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "dependencies": { + "NLog.Extensions.Logging": "5.1.0" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "RabbitMQ.Client": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1znR1gGU+xYVSpO5z8nQolcUKA/yydnxQn7Ug9+RUXxTSLMm/eE58VKGwahPBjELXvDnX0k/kBrAitFLRjx9LA==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "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": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Swashbuckle.AspNetCore": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Async": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "OHzPhSme78BbmLe9UBxHM69ZYjClS5URuhce6Ta4ikiLgaUGiG/X84fZpI6zy7CsUH5R9cYzI2tv9dWPqdTkUg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.1", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", + "dependencies": { + "System.Reactive": "5.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.MinIO": "0.2.10", + "NLog": "5.0.5", + "NLog.Web.AspNetCore": "5.1.5", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client": { + "type": "Project", + "dependencies": { + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Client/packages.lock.json b/src/Client/packages.lock.json new file mode 100644 index 000000000..5d93fec3e --- /dev/null +++ b/src/Client/packages.lock.json @@ -0,0 +1,1210 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Direct", + "requested": "[5.2.9, )", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Extensions.Http": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Common/ExtensionMethods.cs b/src/Common/ExtensionMethods.cs index 126b2ebae..997311217 100644 --- a/src/Common/ExtensionMethods.cs +++ b/src/Common/ExtensionMethods.cs @@ -73,7 +73,7 @@ public static string RemoveInvalidPathChars(this string input) /// <returns></returns> public static async Task<bool> Post<TInput>(this ActionBlock<TInput> actionBlock, TInput input, TimeSpan delay) { - await Task.Delay(delay); + await Task.Delay(delay).ConfigureAwait(false); return actionBlock.Post(input); } } diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index bc35dbd9d..4a74ecd74 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -24,12 +24,13 @@ <IsTrimmable>true</IsTrimmable> <ProduceReferenceAssembly>True</ProduceReferenceAssembly> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> diff --git a/src/Common/Test/ExtensionMethodsTest.cs b/src/Common/Test/ExtensionMethodsTest.cs index 4915e8930..9158fb2d5 100644 --- a/src/Common/Test/ExtensionMethodsTest.cs +++ b/src/Common/Test/ExtensionMethodsTest.cs @@ -90,7 +90,7 @@ public async Task GivenAnActionBlock_WhenPostWIithDelayIsCalled_ExpectADelayBefo }); stopwatch.Start(); - await actionBlock.Post(input, delay); + await actionBlock.Post(input, delay).ConfigureAwait(false); } } } diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 1ff6a1596..9ee1c5396 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -21,6 +21,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Common.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json new file mode 100644 index 000000000..b58ecbb75 --- /dev/null +++ b/src/Common/Test/packages.lock.json @@ -0,0 +1,1173 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "dependencies": { + "System.IO.Abstractions": "17.2.3" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "f9hstgjVmr6rmrfGSpfsVOl2irKAgr1QjrSi3FgnS7kulxband50f2brRLwySAQTADPZeTdow0mpSMcoAdadCw==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "UpZLNLBpIZ0GTebShui7xXYh6DmBHjWM8NxGxZbdQh/bPZ5e6YswqI+bru6BnEL5eWiOdodsXtEz3FROcgi/qg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "azyQtqbm4fSaDzZHD/J+V6oWMFaf2tWP4WEGIYePLCMw3+b2RQdj9ybgbQyjCshcitQKQ4lEDOZjmSlTTrHxUg==", + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.1" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", + "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" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Memory": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "sDJYJpGtTgx+23Ayu5euxG5mAXWdkDb4+b0rD0Cab0M1oQS9H0HXGPriKcqpXuiJDTV7fTp/d+fMDJmnr6sNvA==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Zh8t8oqolRaFa9vmOZfdQm/qKejdqz0J9kr7o2Fu0vPeoH3BL1EOXipKWwkWtLT1JPzjByrF19fGuFlNbmPpiw==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Common/packages.lock.json b/src/Common/packages.lock.json new file mode 100644 index 000000000..9a2b36402 --- /dev/null +++ b/src/Common/packages.lock.json @@ -0,0 +1,146 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "fo-dicom": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "System.IO.Abstractions": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "MZtBIwfDFork5vfjpJdG5g8wuJFt7d/y3LOSVVtDK/76wlbtz6cjltfKHqLx2TKVqTj5/c41t77m1+h20zqtPA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "f9hstgjVmr6rmrfGSpfsVOl2irKAgr1QjrSi3FgnS7kulxband50f2brRLwySAQTADPZeTdow0mpSMcoAdadCw==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "UpZLNLBpIZ0GTebShui7xXYh6DmBHjWM8NxGxZbdQh/bPZ5e6YswqI+bru6BnEL5eWiOdodsXtEz3FROcgi/qg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "2.2.0", + "Microsoft.Extensions.Primitives": "2.2.0", + "System.ComponentModel.Annotations": "4.5.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "azyQtqbm4fSaDzZHD/J+V6oWMFaf2tWP4WEGIYePLCMw3+b2RQdj9ybgbQyjCshcitQKQ4lEDOZjmSlTTrHxUg==", + "dependencies": { + "System.Memory": "4.5.1", + "System.Runtime.CompilerServices.Unsafe": "4.5.1" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==" + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "sDJYJpGtTgx+23Ayu5euxG5mAXWdkDb4+b0rD0Cab0M1oQS9H0HXGPriKcqpXuiJDTV7fTp/d+fMDJmnr6sNvA==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Zh8t8oqolRaFa9vmOZfdQm/qKejdqz0J9kr7o2Fu0vPeoH3BL1EOXipKWwkWtLT1JPzjByrF19fGuFlNbmPpiw==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + } + } + } +} \ No newline at end of file diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index b1d455ba4..8b9dacb3c 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -22,15 +22,16 @@ <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsTrimmable>true</IsTrimmable> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" /> + <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.3" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.17-rc0020" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.16" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index 0a50325ed..7b5aecc82 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -22,6 +22,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Configuration.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json new file mode 100644 index 000000000..c6a202ed0 --- /dev/null +++ b/src/Configuration/Test/packages.lock.json @@ -0,0 +1,1313 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "dependencies": { + "System.IO.Abstractions": "17.2.3" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Configuration/ValidationExtensions.cs b/src/Configuration/ValidationExtensions.cs index c9c53d457..9f064716e 100644 --- a/src/Configuration/ValidationExtensions.cs +++ b/src/Configuration/ValidationExtensions.cs @@ -29,7 +29,7 @@ public static class ValidationExtensions public static bool IsValid(this MonaiApplicationEntity monaiApplicationEntity, out IList<string> validationErrors) { - Guard.Against.Null(monaiApplicationEntity, nameof(monaiApplicationEntity)); + Guard.Against.Null(monaiApplicationEntity); validationErrors = new List<string>(); @@ -42,7 +42,7 @@ public static bool IsValid(this MonaiApplicationEntity monaiApplicationEntity, o public static bool IsValid(this DestinationApplicationEntity destinationApplicationEntity, out IList<string> validationErrors) { - Guard.Against.Null(destinationApplicationEntity, nameof(destinationApplicationEntity)); + Guard.Against.Null(destinationApplicationEntity); validationErrors = new List<string>(); @@ -57,7 +57,7 @@ public static bool IsValid(this DestinationApplicationEntity destinationApplicat public static bool IsValid(this SourceApplicationEntity sourceApplicationEntity, out IList<string> validationErrors) { - Guard.Against.Null(sourceApplicationEntity, nameof(sourceApplicationEntity)); + Guard.Against.Null(sourceApplicationEntity); validationErrors = new List<string>(); @@ -70,7 +70,7 @@ public static bool IsValid(this SourceApplicationEntity sourceApplicationEntity, public static bool IsValidDicomTag(string source, string grouping, IList<string> validationErrors = null) { - Guard.Against.NullOrWhiteSpace(source, nameof(source)); + Guard.Against.NullOrWhiteSpace(source); try { @@ -92,7 +92,7 @@ public static bool IsValidDicomTag(string source, string grouping, IList<string> public static bool IsAeTitleValid(string source, string aeTitle, IList<string> validationErrors = null) { - Guard.Against.NullOrWhiteSpace(source, nameof(source)); + Guard.Against.NullOrWhiteSpace(source); if (!string.IsNullOrWhiteSpace(aeTitle) && aeTitle.Length <= 15) return true; @@ -110,7 +110,7 @@ public static bool IsValidHostNameIp(string source, string hostIp, IList<string> public static bool IsPortValid(string source, int port, IList<string> validationErrors = null) { - Guard.Against.NullOrWhiteSpace(source, nameof(source)); + Guard.Against.NullOrWhiteSpace(source); if (port > 0 && port <= 65535) return true; diff --git a/src/Configuration/packages.lock.json b/src/Configuration/packages.lock.json new file mode 100644 index 000000000..45db310bc --- /dev/null +++ b/src/Configuration/packages.lock.json @@ -0,0 +1,301 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Direct", + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Direct", + "requested": "[0.1.16, )", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Direct", + "requested": "[0.2.10, )", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "System.IO.Abstractions": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/Api/DatabaseException.cs b/src/Database/Api/DatabaseException.cs new file mode 100644 index 000000000..9191a0768 --- /dev/null +++ b/src/Database/Api/DatabaseException.cs @@ -0,0 +1,40 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Runtime.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Database.Api +{ + [Serializable] + public class DatabaseException : Exception + { + public DatabaseException() + { + } + + public DatabaseException(string? message) : base(message) + { + } + + public DatabaseException(string? message, Exception? innerException) : base(message, innerException) + { + } + + protected DatabaseException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/src/Database/Api/IInformaticsGatewayRepository.cs b/src/Database/Api/IInformaticsGatewayRepository.cs deleted file mode 100644 index ec9072dc5..000000000 --- a/src/Database/Api/IInformaticsGatewayRepository.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using Microsoft.EntityFrameworkCore.ChangeTracking; - -namespace Monai.Deploy.InformaticsGateway.Database.Api -{ - public interface IInformaticsGatewayRepository<T> where T : class - { - IQueryable<T> AsQueryable(); - - Task<T> FindAsync(params object[] keyValues); - - Task<int> SaveChangesAsync(CancellationToken cancellationToken = default); - - Task<List<T>> ToListAsync(); - - EntityEntry<T> Update(T entity); - - EntityEntry<T> Remove(T entity); - - void RemoveRange(params T[] entities); - - Task<EntityEntry<T>> AddAsync(T item, CancellationToken cancellationToken = default); - - T FirstOrDefault(Func<T, bool> p); - - void Detach(T job); - - bool Any(Func<T, bool> p); - } -} diff --git a/src/Database/Api/Logging/Log.9000.cs b/src/Database/Api/Logging/Log.9000.cs new file mode 100644 index 000000000..a2ac11fed --- /dev/null +++ b/src/Database/Api/Logging/Log.9000.cs @@ -0,0 +1,59 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.Logging; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Logging +{ + public static partial class Log + { + [LoggerMessage(EventId = 9000, Level = LogLevel.Error, Message = "Error adding item {type} to the database.")] + public static partial void ErrorAddItem(this ILogger logger, string @type, Exception ex); + + [LoggerMessage(EventId = 9001, Level = LogLevel.Error, Message = "Error updating item {type} in the database.")] + public static partial void ErrorUpdateItem(this ILogger logger, string @type, Exception ex); + + [LoggerMessage(EventId = 9002, Level = LogLevel.Error, Message = "Error deleting item {type} from the database.")] + public static partial void ErrorDeleteItem(this ILogger logger, string @type, Exception ex); + + [LoggerMessage(EventId = 9003, Level = LogLevel.Error, Message = "Error performing database action. Waiting {timespan} before next retry. Retry attempt {retryCount}...")] + public static partial void DatabaseErrorRetry(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); + + [LoggerMessage(EventId = 9004, Level = LogLevel.Debug, Message = "Storage metadata saved to the database.")] + public static partial void StorageMetadataSaved(this ILogger logger); + + [LoggerMessage(EventId = 9005, Level = LogLevel.Error, Message = "Error querying pending inference request.")] + public static partial void ErrorQueryingForPendingInferenceRequest(this ILogger logger, Exception ex); + + [LoggerMessage(EventId = 9006, Level = LogLevel.Debug, Message = "Inference request saved.")] + public static partial void InferenceRequestSaved(this ILogger logger); + + [LoggerMessage(EventId = 9007, Level = LogLevel.Warning, Message = "Exceeded maximum retries.")] + public static partial void InferenceRequestUpdateExceededMaximumRetries(this ILogger logger); + + [LoggerMessage(EventId = 9008, Level = LogLevel.Information, Message = "Failed to process inference request, will retry later.")] + public static partial void InferenceRequestUpdateRetryLater(this ILogger logger); + + [LoggerMessage(EventId = 9009, Level = LogLevel.Debug, Message = "Updating request {transactionId} to InProgress.")] + public static partial void InferenceRequestSetToInProgress(this ILogger logger, string transactionId); + + [LoggerMessage(EventId = 9010, Level = LogLevel.Debug, Message = "Updating inference request.")] + public static partial void InferenceRequestUpdateState(this ILogger logger); + + [LoggerMessage(EventId = 9011, Level = LogLevel.Information, Message = "Inference request updated.")] + public static partial void InferenceRequestUpdated(this ILogger logger); + } +} diff --git a/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj index dfe506948..00dd3bc3a 100644 --- a/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj +++ b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj @@ -17,10 +17,11 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> - <RootNamespace>Monai.Deploy.InformaticsGateway.Database.Repositories</RootNamespace> + <RootNamespace>Monai.Deploy.InformaticsGateway.Database.Api</RootNamespace> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -30,11 +31,13 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Polly" Version="7.2.3" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\Api\Monai.Deploy.InformaticsGateway.Api.csproj" /> + <ProjectReference Include="..\..\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> </ItemGroup> </Project> diff --git a/src/Database/Api/Repositories/IDestinationApplicationEntityRepository.cs b/src/Database/Api/Repositories/IDestinationApplicationEntityRepository.cs new file mode 100644 index 000000000..ffc58fa17 --- /dev/null +++ b/src/Database/Api/Repositories/IDestinationApplicationEntityRepository.cs @@ -0,0 +1,36 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public interface IDestinationApplicationEntityRepository + { + Task<List<DestinationApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default); + + Task<DestinationApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default); + + Task<DestinationApplicationEntity> AddAsync(DestinationApplicationEntity item, CancellationToken cancellationToken = default); + + Task<DestinationApplicationEntity> UpdateAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<DestinationApplicationEntity> RemoveAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<bool> ContainsAsync(Expression<Func<DestinationApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default); + } +} diff --git a/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs b/src/Database/Api/Repositories/IInferenceRequestRepository.cs similarity index 74% rename from src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs rename to src/Database/Api/Repositories/IInferenceRequestRepository.cs index 02f3fe67d..a1b98930f 100644 --- a/src/InformaticsGateway/Repositories/IInferenceRequestRepository.cs +++ b/src/Database/Api/Repositories/IInferenceRequestRepository.cs @@ -1,6 +1,5 @@ /* - * Copyright 2021-2022 MONAI Consortium - * Copyright 2019-2021 NVIDIA Corporation + * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,12 +14,9 @@ * limitations under the License. */ -using System; -using System.Threading; -using System.Threading.Tasks; using Monai.Deploy.InformaticsGateway.Api.Rest; -namespace Monai.Deploy.InformaticsGateway.Repositories +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories { /// <summary> /// Interface for access stored inference requests. @@ -31,7 +27,7 @@ public interface IInferenceRequestRepository /// Adds new inference request to the repository. /// </summary> /// <param name="inferenceRequest">The inference request to be added.</param> - Task Add(InferenceRequest inferenceRequest); + Task AddAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default); /// <summary> /// Updates an inference request's status. @@ -40,7 +36,7 @@ public interface IInferenceRequestRepository /// </summary> /// <param name="inferenceRequest">The inference request to be updated.</param> /// <param name="status">Current status of the inference request.</param> - Task Update(InferenceRequest inferenceRequest, InferenceRequestStatus status); + Task UpdateAsync(InferenceRequest inferenceRequest, InferenceRequestStatus status, CancellationToken cancellationToken = default); /// <summary> /// <c>Take</c> returns the next pending inference request for data retrieval. @@ -48,31 +44,31 @@ public interface IInferenceRequestRepository /// </summary> /// <param name="cancellationToken">cancellation token used to cancel the action.</param> /// <returns><see cref="InferenceRequest"/></returns> - Task<InferenceRequest> Take(CancellationToken cancellationToken); + Task<InferenceRequest> TakeAsync(CancellationToken cancellationToken = default); /// <summary> /// <c>Get</c> returns the specified inference request. /// </summary> /// <param name="transactionId">The transactionId of the request.</param> - InferenceRequest GetInferenceRequest(string transactionId); + Task<InferenceRequest?> GetInferenceRequestAsync(string transactionId, CancellationToken cancellationToken = default); /// <summary> /// <c>Get</c> returns the specified inference request. /// </summary> /// <param name="inferenceRequestId">The internal ID of the request.</param> - Task<InferenceRequest> GetInferenceRequest(Guid inferenceRequestId); + Task<InferenceRequest?> GetInferenceRequestAsync(Guid inferenceRequestId, CancellationToken cancellationToken = default); /// <summary> /// <c>Exists</c> checks whether if an existing request with the same transaction ID exists. /// </summary> /// <param name="transactionId"></param> /// <returns></returns> - bool Exists(string transactionId); + Task<bool> ExistsAsync(string transactionId, CancellationToken cancellationToken = default); /// <summary> /// <c>GetStatus</c> returns the status of the specified inference request. /// </summary> /// <param name="transactionId">The transactionId from the original request.</param> - Task<InferenceStatusResponse> GetStatus(string transactionId); + Task<InferenceStatusResponse?> GetStatusAsync(string transactionId, CancellationToken cancellationToken = default); } } diff --git a/src/Database/Api/Repositories/IMonaiApplicationEntityRepository.cs b/src/Database/Api/Repositories/IMonaiApplicationEntityRepository.cs new file mode 100644 index 000000000..1b803385e --- /dev/null +++ b/src/Database/Api/Repositories/IMonaiApplicationEntityRepository.cs @@ -0,0 +1,36 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public interface IMonaiApplicationEntityRepository + { + Task<List<MonaiApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default); + + Task<MonaiApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default); + + Task<MonaiApplicationEntity> AddAsync(MonaiApplicationEntity item, CancellationToken cancellationToken = default); + + Task<MonaiApplicationEntity> UpdateAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<MonaiApplicationEntity> RemoveAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<bool> ContainsAsync(Expression<Func<MonaiApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default); + } +} diff --git a/src/Database/Api/Repositories/IPayloadRepository.cs b/src/Database/Api/Repositories/IPayloadRepository.cs new file mode 100644 index 000000000..5449af8da --- /dev/null +++ b/src/Database/Api/Repositories/IPayloadRepository.cs @@ -0,0 +1,38 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Monai.Deploy.InformaticsGateway.Api.Storage; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public interface IPayloadRepository + { + Task<List<Payload>> ToListAsync(CancellationToken cancellationToken = default); + + Task<Payload> AddAsync(Payload item, CancellationToken cancellationToken = default); + + Task<Payload> UpdateAsync(Payload entity, CancellationToken cancellationToken = default); + + Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default); + + Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default); + + Task<int> RemovePendingPayloadsAsync(CancellationToken cancellationToken = default); + + Task<List<Payload>> GetPayloadsInStateAsync(CancellationToken cancellationToken = default, params Payload.PayloadState[] states); + } +} diff --git a/src/Database/Api/Repositories/ISourceApplicationEntityRepository.cs b/src/Database/Api/Repositories/ISourceApplicationEntityRepository.cs new file mode 100644 index 000000000..6826ca639 --- /dev/null +++ b/src/Database/Api/Repositories/ISourceApplicationEntityRepository.cs @@ -0,0 +1,36 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public interface ISourceApplicationEntityRepository + { + Task<List<SourceApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default); + + Task<SourceApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default); + + Task<SourceApplicationEntity> AddAsync(SourceApplicationEntity item, CancellationToken cancellationToken = default); + + Task<SourceApplicationEntity> UpdateAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<SourceApplicationEntity> RemoveAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default); + + Task<bool> ContainsAsync(Expression<Func<SourceApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default); + } +} diff --git a/src/InformaticsGateway/Repositories/IStorageMetadataWrapperRepository.cs b/src/Database/Api/Repositories/IStorageMetadataRepository.cs similarity index 70% rename from src/InformaticsGateway/Repositories/IStorageMetadataWrapperRepository.cs rename to src/Database/Api/Repositories/IStorageMetadataRepository.cs index 82405c09c..6252a0aca 100644 --- a/src/InformaticsGateway/Repositories/IStorageMetadataWrapperRepository.cs +++ b/src/Database/Api/Repositories/IStorageMetadataRepository.cs @@ -1,6 +1,5 @@ /* - * Copyright 2021-2022 MONAI Consortium - * Copyright 2019-2021 NVIDIA Corporation + * Copyright 2022 MONAI Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,58 +14,56 @@ * limitations under the License. */ -using System.Collections.Generic; -using System.Threading.Tasks; using Monai.Deploy.InformaticsGateway.Api.Storage; -namespace Monai.Deploy.InformaticsGateway.Repositories +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories { /// <summary> /// Interface for accessing storage metadata objects. /// </summary> - public interface IStorageMetadataWrapperRepository + public interface IStorageMetadataRepository { /// <summary> /// Adds new storage metadata object to the repository. /// </summary> /// <param name="metadata">The storage metadata object to be added.</param> - Task AddAsync(FileStorageMetadata metadata); + Task AddAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default); /// <summary> /// Updates an storage metadata object's status. /// </summary> /// <param name="metadata">The storage metadata object to be updated.</param> - Task UpdateAsync(FileStorageMetadata metadata); + Task UpdateAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default); /// <summary> /// Adds or updates an storage metadata object's status. /// </summary> /// <param name="metadata">The storage metadata object to be added/updated.</param> - Task AddOrUpdateAsync(FileStorageMetadata metadata); + Task AddOrUpdateAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default); /// <summary> /// Gets all storage metadata objects associated with the correlation ID. /// </summary> /// <param name="correlationId">Correlation ID</param> - IList<FileStorageMetadata> GetFileStorageMetdadata(string correlationId); + Task<IList<FileStorageMetadata>> GetFileStorageMetdadataAsync(string correlationId, CancellationToken cancellationToken = default); /// <summary> /// Gets the specified storage metadata object. /// </summary> /// <param name="correlationId">Correlation ID</param> /// <param name="identity">The unique identity representing the object.</param> - FileStorageMetadata GetFileStorageMetdadata(string correlationId, string identity); + Task<FileStorageMetadata?> GetFileStorageMetdadataAsync(string correlationId, string identity, CancellationToken cancellationToken = default); /// <summary> /// Deletes the specified storage metadata object. /// </summary> /// <param name="correlationId">Correlation ID</param> /// <param name="identity">The unique identity representing the object.</param> - Task<bool> DeleteAsync(string correlationId, string identity); + Task<bool> DeleteAsync(string correlationId, string identity, CancellationToken cancellationToken = default); /// <summary> /// Deletes all pending storage metadata objects. /// </summary> - Task DeletePendingUploadsAsync(); + Task DeletePendingUploadsAsync(CancellationToken cancellationToken = default); } } diff --git a/src/Database/Api/Repositories/InferenceRequestRepositoryBase.cs b/src/Database/Api/Repositories/InferenceRequestRepositoryBase.cs new file mode 100644 index 000000000..cd0c8e6d1 --- /dev/null +++ b/src/Database/Api/Repositories/InferenceRequestRepositoryBase.cs @@ -0,0 +1,101 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public abstract class InferenceRequestRepositoryBase : IInferenceRequestRepository + { + private readonly ILogger _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + protected InferenceRequestRepositoryBase( + ILogger logger, + IOptions<InformaticsGatewayConfiguration> options) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + } + + public virtual async Task<bool> ExistsAsync(string transactionId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(transactionId); + return await GetInferenceRequestAsync(transactionId, cancellationToken).ConfigureAwait(false) is not null; + } + + public virtual async Task<InferenceStatusResponse?> GetStatusAsync(string transactionId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(transactionId); + + var response = new InferenceStatusResponse(); + var item = await GetInferenceRequestAsync(transactionId, cancellationToken).ConfigureAwait(false); + if (item is null) + { + return null; + } + + response.TransactionId = item.TransactionId; + + return await Task.FromResult(response).ConfigureAwait(false); + } + + public async Task UpdateAsync(InferenceRequest inferenceRequest, InferenceRequestStatus status, CancellationToken cancellationToken = default) + { + Guard.Against.Null(inferenceRequest); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); + + if (status == InferenceRequestStatus.Success) + { + inferenceRequest.State = InferenceRequestState.Completed; + inferenceRequest.Status = InferenceRequestStatus.Success; + } + else + { + if (++inferenceRequest.TryCount > _options.Value.Database.Retries.DelaysMilliseconds.Length) + { + _logger.InferenceRequestUpdateExceededMaximumRetries(); + inferenceRequest.State = InferenceRequestState.Completed; + inferenceRequest.Status = InferenceRequestStatus.Fail; + } + else + { + _logger.InferenceRequestUpdateRetryLater(); + inferenceRequest.State = InferenceRequestState.Queued; + } + } + + await SaveAsync(inferenceRequest, cancellationToken).ConfigureAwait(false); + } + + public abstract Task AddAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default); + + public abstract Task<InferenceRequest> TakeAsync(CancellationToken cancellationToken = default); + + public abstract Task<InferenceRequest?> GetInferenceRequestAsync(string transactionId, CancellationToken cancellationToken = default); + + public abstract Task<InferenceRequest?> GetInferenceRequestAsync(Guid inferenceRequestId, CancellationToken cancellationToken = default); + + protected abstract Task SaveAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default); + } +} diff --git a/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs b/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs new file mode 100644 index 000000000..5f9f06f4e --- /dev/null +++ b/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs @@ -0,0 +1,104 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.Extensions.Logging; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public abstract class StorageMetadataRepositoryBase : IStorageMetadataRepository + { + private readonly ILogger _logger; + + protected StorageMetadataRepositoryBase(ILogger logger) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public async Task AddAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); + var obj = new StorageMetadataWrapper(metadata); + await AddAsyncInternal(obj, cancellationToken).ConfigureAwait(false); + _logger.StorageMetadataSaved(); + } + + public async Task AddOrUpdateAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + var existing = await GetFileStorageMetdadataAsync(metadata.CorrelationId, metadata.Id, cancellationToken).ConfigureAwait(false); + + if (existing is not null) + { + await UpdateAsync(metadata, cancellationToken).ConfigureAwait(false); + } + else + { + await AddAsync(metadata, cancellationToken).ConfigureAwait(false); + } + } + + public virtual async Task<bool> DeleteAsync(string correlationId, string identity, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(identity); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", correlationId }, { "Identity", identity } }); + + var toBeDeleted = await FindByIds(identity, correlationId, cancellationToken).ConfigureAwait(false); + + if (toBeDeleted is not null) + { + return await DeleteInternalAsync(toBeDeleted, cancellationToken).ConfigureAwait(false); + } + return false; + } + + protected abstract Task<bool> DeleteInternalAsync(StorageMetadataWrapper toBeDeleted, CancellationToken cancellationToken); + public abstract Task DeletePendingUploadsAsync(CancellationToken cancellationToken = default); + + public abstract Task<IList<FileStorageMetadata>> GetFileStorageMetdadataAsync(string correlationId, CancellationToken cancellationToken = default); + + public abstract Task<FileStorageMetadata?> GetFileStorageMetdadataAsync(string correlationId, string identity, CancellationToken cancellationToken = default); + + public virtual async Task UpdateAsync(FileStorageMetadata metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); + var obj = await FindByIds(metadata.Id, metadata.CorrelationId).ConfigureAwait(false); + + if (obj is null) + { + throw new ArgumentException("Matching wrapper storage object not found"); + } + + obj.Update(metadata); + await UpdateInternal(obj, cancellationToken).ConfigureAwait(false); + _logger.StorageMetadataSaved(); + } + + protected abstract Task UpdateInternal(StorageMetadataWrapper obj, CancellationToken cancellationToken = default); + protected abstract Task<StorageMetadataWrapper?> FindByIds(string id, string correlationId, CancellationToken cancellationToken = default); + protected abstract Task AddAsyncInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default); + } +} diff --git a/src/Database/Api/StorageMetadataWrapper.cs b/src/Database/Api/StorageMetadataWrapper.cs index f6a92aa39..f572a2606 100644 --- a/src/Database/Api/StorageMetadataWrapper.cs +++ b/src/Database/Api/StorageMetadataWrapper.cs @@ -17,23 +17,28 @@ using System.Text.Json; using System.Text.Json.Serialization; using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; namespace Monai.Deploy.InformaticsGateway.Database.Api { - public class StorageMetadataWrapper + /// <summary> + /// A wrapper class to support polymorphic types of <see cref="FileStorageMetadata" /> + /// </summary> + public class StorageMetadataWrapper : MongoDBEntityBase { [JsonPropertyName("correlationId")] - public string CorrelationId { get; set; } + public string CorrelationId { get; set; } = string.Empty; [JsonPropertyName("identity")] - public string Identity { get; set; } + public string Identity { get; set; } = string.Empty; [JsonPropertyName("value")] - public string Value { get; set; } + public string Value { get; set; } = string.Empty; [JsonPropertyName("typeName")] - public string TypeName { get; set; } + public string TypeName { get; set; } = string.Empty; [JsonPropertyName("isUploaded")] public bool IsUploaded { get; set; } @@ -43,7 +48,7 @@ private StorageMetadataWrapper() public StorageMetadataWrapper(FileStorageMetadata metadata) { - Guard.Against.Null(metadata, nameof(metadata)); + Guard.Against.Null(metadata); CorrelationId = metadata.CorrelationId; Identity = metadata.Id; @@ -52,17 +57,35 @@ public StorageMetadataWrapper(FileStorageMetadata metadata) public void Update(FileStorageMetadata metadata) { - Guard.Against.Null(metadata, nameof(metadata)); + Guard.Against.Null(metadata); IsUploaded = metadata.IsUploaded; - Value = JsonSerializer.Serialize<object>(metadata); - TypeName = metadata.GetType().AssemblyQualifiedName; + Value = JsonSerializer.Serialize<object>(metadata); // Must be <object> here + + if (metadata.GetType() is null || string.IsNullOrWhiteSpace(metadata.GetType().AssemblyQualifiedName)) + { + throw new ArgumentException("Unable to determine the type", nameof(metadata)); + } + TypeName = metadata.GetType().AssemblyQualifiedName!; } public FileStorageMetadata GetObject() { var type = Type.GetType(TypeName, true); + + if (type is null) + { + throw new NotSupportedException($"Unable to locate type {TypeName} in the current application."); + } + +#pragma warning disable CS8603 // Possible null reference return. return JsonSerializer.Deserialize(Value, type) as FileStorageMetadata; +#pragma warning restore CS8603 // Possible null reference return. + } + + public override string ToString() + { + return $"Identity: {Identity}"; } } } diff --git a/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj b/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj index d73ad311b..7ae3ec3e5 100644 --- a/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj +++ b/src/Database/Api/Test/Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj @@ -20,8 +20,8 @@ <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> - <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json new file mode 100644 index 000000000..74ab6cca6 --- /dev/null +++ b/src/Database/Api/Test/packages.lock.json @@ -0,0 +1,1343 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/Api/packages.lock.json b/src/Database/Api/packages.lock.json new file mode 100644 index 000000000..1b8af4b28 --- /dev/null +++ b/src/Database/Api/packages.lock.json @@ -0,0 +1,356 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Microsoft.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Polly": { + "type": "Direct", + "requested": "[7.2.3, )", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/DatabaseManager.cs b/src/Database/DatabaseManager.cs index 7b4a1a136..1aafa7666 100644 --- a/src/Database/DatabaseManager.cs +++ b/src/Database/DatabaseManager.cs @@ -19,13 +19,19 @@ using Microsoft.Extensions.DependencyInjection; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Database.EntityFramework; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration; +using Monai.Deploy.InformaticsGateway.Database.MongoDB; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; namespace Monai.Deploy.InformaticsGateway.Database { public static class DatabaseManager { + public const string DbType_Sqlite = "sqlite"; + public const string DbType_MongoDb = "mongodb"; public static IServiceCollection ConfigureDatabase(this IServiceCollection services, IConfigurationSection? connectionStringConfigurationSection) { if (connectionStringConfigurationSection is null) @@ -34,15 +40,32 @@ public static IServiceCollection ConfigureDatabase(this IServiceCollection servi } - var databaseType = connectionStringConfigurationSection["Type"]; + var databaseType = connectionStringConfigurationSection["Type"].ToLowerInvariant(); switch (databaseType) { - case "Sqlite": - services.AddScoped<IDatabaseMigrationManager, EfDatabaseMigrationManager>(); - services.AddScoped(typeof(IInformaticsGatewayRepository<>), typeof(InformaticsGatewayRepository<>)); + case DbType_Sqlite: services.AddDbContext<InformaticsGatewayContext>( options => options.UseSqlite(connectionStringConfigurationSection[SR.DatabaseConnectionStringKey]), ServiceLifetime.Transient); + services.AddScoped<IDatabaseMigrationManager, EfDatabaseMigrationManager>(); + services.AddScoped(typeof(IDestinationApplicationEntityRepository), typeof(EntityFramework.Repositories.DestinationApplicationEntityRepository)); + services.AddScoped(typeof(IInferenceRequestRepository), typeof(EntityFramework.Repositories.InferenceRequestRepository)); + services.AddScoped(typeof(IMonaiApplicationEntityRepository), typeof(EntityFramework.Repositories.MonaiApplicationEntityRepository)); + services.AddScoped(typeof(ISourceApplicationEntityRepository), typeof(EntityFramework.Repositories.SourceApplicationEntityRepository)); + services.AddScoped(typeof(IStorageMetadataRepository), typeof(EntityFramework.Repositories.StorageMetadataWrapperRepository)); + services.AddScoped(typeof(IPayloadRepository), typeof(EntityFramework.Repositories.PayloadRepository)); + return services; + case DbType_MongoDb: + services.AddSingleton<IMongoClient, MongoClient>(s => new MongoClient(connectionStringConfigurationSection[SR.DatabaseConnectionStringKey])); + services.Configure<MongoDBOptions>(connectionStringConfigurationSection); + services.AddScoped<IDatabaseMigrationManager, MongoDatabaseMigrationManager>(); + services.AddScoped(typeof(IDestinationApplicationEntityRepository), typeof(MongoDB.Repositories.DestinationApplicationEntityRepository)); + services.AddScoped(typeof(IInferenceRequestRepository), typeof(MongoDB.Repositories.InferenceRequestRepository)); + services.AddScoped(typeof(IMonaiApplicationEntityRepository), typeof(MongoDB.Repositories.MonaiApplicationEntityRepository)); + services.AddScoped(typeof(ISourceApplicationEntityRepository), typeof(MongoDB.Repositories.SourceApplicationEntityRepository)); + services.AddScoped(typeof(IStorageMetadataRepository), typeof(MongoDB.Repositories.StorageMetadataWrapperRepository)); + services.AddScoped(typeof(IPayloadRepository), typeof(MongoDB.Repositories.PayloadRepository)); + return services; default: throw new ConfigurationException($"Unsupported database type defined: '{databaseType}'"); diff --git a/src/Database/DatabaseMigrationManager.cs b/src/Database/DatabaseMigrationManager.cs index 21a823d94..2d27d194c 100644 --- a/src/Database/DatabaseMigrationManager.cs +++ b/src/Database/DatabaseMigrationManager.cs @@ -26,7 +26,7 @@ public static IHost MigrateDatabase(this IHost host) { using (var scope = host.Services.CreateScope()) { - scope.ServiceProvider.GetRequiredService<IDatabaseMigrationManager>()?.Migrate(host); + scope.ServiceProvider.GetService<IDatabaseMigrationManager>()?.Migrate(host); } return host; } diff --git a/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs index 845d4b96c..98b990120 100644 --- a/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs @@ -19,7 +19,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { internal class DestinationApplicationEntityConfiguration : IEntityTypeConfiguration<DestinationApplicationEntity> { @@ -32,6 +32,8 @@ public void Configure(EntityTypeBuilder<DestinationApplicationEntity> builder) builder.HasIndex(p => p.Name, "idx_destination_name").IsUnique(); builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp, p.Port }, "idx_source_all").IsUnique(); + + builder.Ignore(p => p.Id); } } } diff --git a/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs index 70de97896..cbaf3385d 100644 --- a/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs @@ -15,9 +15,6 @@ * limitations under the License. */ -using System; -using System.Collections.Generic; -using System.Linq; using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.EntityFrameworkCore; @@ -25,8 +22,10 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api.Rest; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { +#pragma warning disable CS8603 // Possible null reference return. +#pragma warning disable CS8604 // Possible null reference argument. internal class InferenceRequestConfiguration : IEntityTypeConfiguration<InferenceRequest> { public void Configure(EntityTypeBuilder<InferenceRequest> builder) @@ -76,4 +75,6 @@ public void Configure(EntityTypeBuilder<InferenceRequest> builder) builder.HasIndex(p => p.TransactionId, "idx_inferencerequest_transactionid").IsUnique(); } } +#pragma warning restore CS8604 // Possible null reference argument. +#pragma warning restore CS8603 // Possible null reference return. } diff --git a/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs index 4e79c3f6b..db60b79cc 100644 --- a/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs @@ -25,8 +25,9 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { +#pragma warning disable CS8604, CS8603 internal class MonaiApplicationEntityConfiguration : IEntityTypeConfiguration<MonaiApplicationEntity> { public void Configure(EntityTypeBuilder<MonaiApplicationEntity> builder) @@ -63,6 +64,9 @@ public void Configure(EntityTypeBuilder<MonaiApplicationEntity> builder) .Metadata.SetValueComparer(valueComparer); builder.HasIndex(p => p.Name, "idx_monaiae_name").IsUnique(); + + builder.Ignore(p => p.Id); } } +#pragma warning restore CS8604, CS8603 } diff --git a/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs b/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs index b9d635418..71df8d733 100644 --- a/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/PayloadConfiguration.cs @@ -14,9 +14,6 @@ * limitations under the License. */ -using System; -using System.Collections.Generic; -using System.Linq; using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.EntityFrameworkCore; @@ -24,8 +21,9 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Api.Storage; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { +#pragma warning disable CS8604, CS8603 internal class PayloadConfiguration : IEntityTypeConfiguration<Payload> { public void Configure(EntityTypeBuilder<Payload> builder) @@ -40,7 +38,7 @@ public void Configure(EntityTypeBuilder<Payload> builder) DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull }; - builder.HasKey(j => j.Id); + builder.HasKey(j => j.PayloadId); builder.Property(j => j.Timeout).IsRequired(); builder.Property(j => j.Key).IsRequired(); @@ -61,7 +59,8 @@ public void Configure(EntityTypeBuilder<Payload> builder) builder.Ignore(j => j.Count); builder.HasIndex(p => p.State, "idx_payload_state"); - builder.HasIndex(p => new { p.CorrelationId, p.Id }, "idx_payload_ids").IsUnique(); + builder.HasIndex(p => new { p.CorrelationId, p.PayloadId }, "idx_payload_ids").IsUnique(); } } +#pragma warning restore CS8604, CS8603 } diff --git a/src/Database/EntityFramework/Configuration/SR.cs b/src/Database/EntityFramework/Configuration/SR.cs index 6bbab8ff2..ebcae9fc9 100644 --- a/src/Database/EntityFramework/Configuration/SR.cs +++ b/src/Database/EntityFramework/Configuration/SR.cs @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { public static class SR { diff --git a/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs index 2fc81f657..863798216 100644 --- a/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { internal class SourceApplicationEntityConfiguration : IEntityTypeConfiguration<SourceApplicationEntity> { @@ -30,6 +30,8 @@ public void Configure(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityType builder.HasIndex(p => p.Name, "idx_source_name").IsUnique(); builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp }, "idx_source_all").IsUnique(); + + builder.Ignore(p => p.Id); } } } diff --git a/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs index 3991abdac..800248fc0 100644 --- a/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/StorageMetadataWrapperEntityConfiguration.cs @@ -19,7 +19,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Monai.Deploy.InformaticsGateway.Database.Api; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration { internal class StorageMetadataWrapperEntityConfiguration : IEntityTypeConfiguration<StorageMetadataWrapper> { @@ -37,6 +37,8 @@ public void Configure(EntityTypeBuilder<StorageMetadataWrapper> builder) builder.HasIndex(p => new { p.CorrelationId, p.Identity }, "idx_storagemetadata_ids"); builder.HasIndex(p => p.CorrelationId, "idx_storagemetadata_correlation"); builder.HasIndex(p => p.IsUploaded, "idx_storagemetadata_uploaded"); + + builder.Ignore(p => p.Id); } } } diff --git a/src/Database/EntityFramework/InformaticsGatewayContext.cs b/src/Database/EntityFramework/InformaticsGatewayContext.cs index 91b0be743..acd209d63 100644 --- a/src/Database/EntityFramework/InformaticsGatewayContext.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContext.cs @@ -18,10 +18,16 @@ using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configurations; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration; namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { + +#pragma warning disable CS8618 // Unread "private" fields should be removed + public class InformaticsGatewayContext : DbContext { public InformaticsGatewayContext(DbContextOptions<InformaticsGatewayContext> options) : base(options) @@ -31,6 +37,9 @@ public InformaticsGatewayContext(DbContextOptions<InformaticsGatewayContext> opt public virtual DbSet<MonaiApplicationEntity> MonaiApplicationEntities { get; set; } public virtual DbSet<SourceApplicationEntity> SourceApplicationEntities { get; set; } public virtual DbSet<DestinationApplicationEntity> DestinationApplicationEntities { get; set; } + public virtual DbSet<InferenceRequest> InferenceRequests { get; set; } + public virtual DbSet<Payload> Payloads { get; set; } + public virtual DbSet<StorageMetadataWrapper> StorageMetadataWrapperEntities { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { @@ -72,4 +81,5 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) (RelationalEventId.CommandCreated, LogLevel.Trace) )); } +#pragma warning restore CS8618 // Unread "private" fields should be removed } diff --git a/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs index 9bbf82a08..f623c0c2c 100644 --- a/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs @@ -18,6 +18,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration; namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { @@ -35,7 +36,7 @@ public InformaticsGatewayContext CreateDbContext(string[] args) var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); - var connectionString = configuration.GetConnectionString(Configurations.SR.DatabaseConnectionStringKey); + var connectionString = configuration.GetConnectionString(SR.DatabaseConnectionStringKey); builder.UseSqlite(connectionString); return new InformaticsGatewayContext(builder.Options); diff --git a/src/Database/EntityFramework/InformaticsGatewayRepository.cs b/src/Database/EntityFramework/InformaticsGatewayRepository.cs deleted file mode 100644 index 68feb8f74..000000000 --- a/src/Database/EntityFramework/InformaticsGatewayRepository.cs +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using Ardalis.GuardClauses; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.ChangeTracking; -using Microsoft.Extensions.DependencyInjection; -using Monai.Deploy.InformaticsGateway.Database.Api; - -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework -{ - public class InformaticsGatewayRepository<T> : IDisposable, IInformaticsGatewayRepository<T> where T : class - { - private readonly IServiceScope _scope; - private readonly InformaticsGatewayContext _informaticsGatewayContext; - private bool _disposedValue; - - public InformaticsGatewayRepository(IServiceScopeFactory serviceScopeFactory) - { - if (serviceScopeFactory is null) - { - throw new ArgumentNullException(nameof(serviceScopeFactory)); - } - - _scope = serviceScopeFactory.CreateScope(); - _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); - } - - public IQueryable<T> AsQueryable() - { - return _informaticsGatewayContext.Set<T>().AsQueryable(); - } - - public async Task<List<T>> ToListAsync() - { - return await _informaticsGatewayContext.Set<T>().ToListAsync().ConfigureAwait(false); - } - - public async Task<T> FindAsync(params object[] keyValues) - { - Guard.Against.Null(keyValues, nameof(keyValues)); - - return await _informaticsGatewayContext.FindAsync<T>(keyValues).ConfigureAwait(false); - } - - public EntityEntry<T> Update(T entity) - { - Guard.Against.Null(entity, nameof(entity)); - - return _informaticsGatewayContext.Update(entity); - } - - public EntityEntry<T> Remove(T entity) - { - Guard.Against.Null(entity, nameof(entity)); - return _informaticsGatewayContext.Remove(entity); - } - - public void RemoveRange(params T[] entities) - { - _informaticsGatewayContext.RemoveRange(entities); - } - - public async Task<int> SaveChangesAsync(CancellationToken cancellationToken = default) - { - return await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); - } - - public async Task<EntityEntry<T>> AddAsync(T item, CancellationToken cancellationToken = default) - { - Guard.Against.Null(item, nameof(item)); - - return await _informaticsGatewayContext.AddAsync(item, cancellationToken).ConfigureAwait(false); - } - -#pragma warning disable S927 // Parameter names should match base declaration and other partial definitions - - public T FirstOrDefault(Func<T, bool> func) -#pragma warning restore S927 // Parameter names should match base declaration and other partial definitions - { - Guard.Against.Null(func, nameof(func)); - - return _informaticsGatewayContext.Set<T>().FirstOrDefault(func); - } - -#pragma warning disable S927 // Parameter names should match base declaration and other partial definitions - - public void Detach(T item) -#pragma warning restore S927 // Parameter names should match base declaration and other partial definitions - { - Guard.Against.Null(item, nameof(item)); - _informaticsGatewayContext.Entry(item).State = EntityState.Detached; - } - -#pragma warning disable S927 // Parameter names should match base declaration and other partial definitions - - public bool Any(Func<T, bool> func) -#pragma warning restore S927 // Parameter names should match base declaration and other partial definitions - { - Guard.Against.Null(func, nameof(func)); - return _informaticsGatewayContext.Set<T>().Any(func); - } - - protected virtual void Dispose(bool disposing) - { - if (!_disposedValue) - { - if (disposing) - { - _scope.Dispose(); - } - - _disposedValue = true; - } - } - - public void Dispose() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - } -} diff --git a/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.Designer.cs b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.Designer.cs new file mode 100644 index 000000000..f154540da --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.Designer.cs @@ -0,0 +1,235 @@ +// <auto-generated /> +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + [DbContext(typeof(InformaticsGatewayContext))] + [Migration("20221116172042_R3_0.3.4")] + partial class R3_034 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "6.0.10"); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("Port") + .HasColumnType("INTEGER"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_destination_name") + .IsUnique(); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp", "Port" }, "idx_source_all") + .IsUnique(); + + b.ToTable("DestinationApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.MonaiApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT") + .HasColumnOrder(0); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("AllowedSopClasses") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Grouping") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("IgnoredSopClasses") + .HasColumnType("TEXT"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.Property<string>("Workflows") + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_monaiae_name") + .IsUnique(); + + b.ToTable("MonaiApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequest", b => + { + b.Property<Guid>("InferenceRequestId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("InputMetadata") + .HasColumnType("TEXT"); + + b.Property<string>("InputResources") + .HasColumnType("TEXT"); + + b.Property<string>("OutputResources") + .HasColumnType("TEXT"); + + b.Property<byte>("Priority") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<int>("Status") + .HasColumnType("INTEGER"); + + b.Property<string>("TransactionId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("TryCount") + .HasColumnType("INTEGER"); + + b.HasKey("InferenceRequestId"); + + b.HasIndex(new[] { "InferenceRequestId" }, "idx_inferencerequest_inferencerequestid") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_inferencerequest_state"); + + b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") + .IsUnique(); + + b.ToTable("InferenceRequests"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") + .IsUnique() + .HasDatabaseName("idx_source_all1"); + + b.HasIndex(new[] { "Name" }, "idx_source_name") + .IsUnique(); + + b.ToTable("SourceApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Storage.Payload", b => + { + b.Property<Guid>("PayloadId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Files") + .HasColumnType("TEXT"); + + b.Property<string>("Key") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RetryCount") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.HasKey("PayloadId"); + + b.HasIndex(new[] { "CorrelationId", "PayloadId" }, "idx_payload_ids") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_payload_state"); + + b.ToTable("Payloads"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.Api.StorageMetadataWrapper", b => + { + b.Property<string>("CorrelationId") + .HasColumnType("TEXT"); + + b.Property<string>("Identity") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<bool>("IsUploaded") + .HasColumnType("INTEGER"); + + b.Property<string>("TypeName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("Value") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("CorrelationId", "Identity"); + + b.HasIndex(new[] { "CorrelationId" }, "idx_storagemetadata_correlation"); + + b.HasIndex(new[] { "CorrelationId", "Identity" }, "idx_storagemetadata_ids"); + + b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); + + b.ToTable("StorageMetadataWrapperEntities"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs new file mode 100644 index 000000000..007e9c291 --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs @@ -0,0 +1,178 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + public partial class R3_034 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "StorageMetadataWrapper"); + + migrationBuilder.DropPrimaryKey( + name: "PK_Payload", + table: "Payload"); + + migrationBuilder.DropPrimaryKey( + name: "PK_InferenceRequest", + table: "InferenceRequest"); + + migrationBuilder.RenameTable( + name: "Payload", + newName: "Payloads"); + + migrationBuilder.RenameTable( + name: "InferenceRequest", + newName: "InferenceRequests"); + + migrationBuilder.RenameColumn( + name: "Id", + table: "Payloads", + newName: "PayloadId"); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeCreated", + table: "SourceApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeCreated", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeCreated", + table: "DestinationApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddPrimaryKey( + name: "PK_Payloads", + table: "Payloads", + column: "PayloadId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_InferenceRequests", + table: "InferenceRequests", + column: "InferenceRequestId"); + + migrationBuilder.CreateTable( + name: "StorageMetadataWrapperEntities", + columns: table => new + { + CorrelationId = table.Column<string>(type: "TEXT", nullable: false), + Identity = table.Column<string>(type: "TEXT", nullable: false), + Value = table.Column<string>(type: "TEXT", nullable: false), + TypeName = table.Column<string>(type: "TEXT", nullable: false), + IsUploaded = table.Column<bool>(type: "INTEGER", nullable: false), + DateTimeCreated = table.Column<DateTime>(type: "TEXT", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_StorageMetadataWrapperEntities", x => new { x.CorrelationId, x.Identity }); + }); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_correlation", + table: "StorageMetadataWrapperEntities", + column: "CorrelationId"); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_ids", + table: "StorageMetadataWrapperEntities", + columns: new[] { "CorrelationId", "Identity" }); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_uploaded", + table: "StorageMetadataWrapperEntities", + column: "IsUploaded"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "StorageMetadataWrapperEntities"); + + migrationBuilder.DropPrimaryKey( + name: "PK_Payloads", + table: "Payloads"); + + migrationBuilder.DropPrimaryKey( + name: "PK_InferenceRequests", + table: "InferenceRequests"); + + migrationBuilder.DropColumn( + name: "DateTimeCreated", + table: "SourceApplicationEntities"); + + migrationBuilder.DropColumn( + name: "DateTimeCreated", + table: "MonaiApplicationEntities"); + + migrationBuilder.DropColumn( + name: "DateTimeCreated", + table: "DestinationApplicationEntities"); + + migrationBuilder.RenameTable( + name: "Payloads", + newName: "Payload"); + + migrationBuilder.RenameTable( + name: "InferenceRequests", + newName: "InferenceRequest"); + + migrationBuilder.RenameColumn( + name: "PayloadId", + table: "Payload", + newName: "Id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_Payload", + table: "Payload", + column: "Id"); + + migrationBuilder.AddPrimaryKey( + name: "PK_InferenceRequest", + table: "InferenceRequest", + column: "InferenceRequestId"); + + migrationBuilder.CreateTable( + name: "StorageMetadataWrapper", + columns: table => new + { + CorrelationId = table.Column<string>(type: "TEXT", nullable: false), + Identity = table.Column<string>(type: "TEXT", nullable: false), + IsUploaded = table.Column<bool>(type: "INTEGER", nullable: false), + TypeName = table.Column<string>(type: "TEXT", nullable: true), + Value = table.Column<string>(type: "TEXT", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_StorageMetadataWrapper", x => new { x.CorrelationId, x.Identity }); + }); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_correlation", + table: "StorageMetadataWrapper", + column: "CorrelationId"); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_ids", + table: "StorageMetadataWrapper", + columns: new[] { "CorrelationId", "Identity" }); + + migrationBuilder.CreateIndex( + name: "idx_storagemetadata_uploaded", + table: "StorageMetadataWrapper", + column: "IsUploaded"); + } + } +} diff --git a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs index 2940a6ae8..d25aff85d 100644 --- a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs +++ b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs @@ -15,7 +15,7 @@ partial class InformaticsGatewayContextModelSnapshot : ModelSnapshot protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "6.0.9"); + modelBuilder.HasAnnotation("ProductVersion", "6.0.10"); modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => { @@ -26,6 +26,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + b.Property<string>("HostIp") .IsRequired() .HasColumnType("TEXT"); @@ -57,6 +60,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property<string>("AllowedSopClasses") .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + b.Property<string>("Grouping") .IsRequired() .HasColumnType("TEXT"); @@ -119,7 +125,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") .IsUnique(); - b.ToTable("InferenceRequest"); + b.ToTable("InferenceRequests"); }); modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity", b => @@ -131,6 +137,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + b.Property<string>("HostIp") .IsRequired() .HasColumnType("TEXT"); @@ -149,7 +158,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Storage.Payload", b => { - b.Property<Guid>("Id") + b.Property<Guid>("PayloadId") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); @@ -176,17 +185,17 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property<uint>("Timeout") .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("PayloadId"); - b.HasIndex(new[] { "CorrelationId", "Id" }, "idx_payload_ids") + b.HasIndex(new[] { "CorrelationId", "PayloadId" }, "idx_payload_ids") .IsUnique(); b.HasIndex(new[] { "State" }, "idx_payload_state"); - b.ToTable("Payload"); + b.ToTable("Payloads"); }); - modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.StorageMetadataWrapper", b => + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.Api.StorageMetadataWrapper", b => { b.Property<string>("CorrelationId") .HasColumnType("TEXT"); @@ -194,13 +203,18 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property<string>("Identity") .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + b.Property<bool>("IsUploaded") .HasColumnType("INTEGER"); b.Property<string>("TypeName") + .IsRequired() .HasColumnType("TEXT"); b.Property<string>("Value") + .IsRequired() .HasColumnType("TEXT"); b.HasKey("CorrelationId", "Identity"); @@ -211,7 +225,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); - b.ToTable("StorageMetadataWrapper"); + b.ToTable("StorageMetadataWrapperEntities"); }); #pragma warning restore 612, 618 } diff --git a/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj index 50cf4f1aa..ae3bd804e 100644 --- a/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj +++ b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,6 +23,7 @@ <ImplicitUsings>enable</ImplicitUsings> <CodeAnalysisRuleSet>..\..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> <Nullable>enable</Nullable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -36,12 +37,12 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10"> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.11"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/Database/EntityFramework/Repositories/DestinationApplicationEntityRepository.cs b/src/Database/EntityFramework/Repositories/DestinationApplicationEntityRepository.cs new file mode 100644 index 000000000..182ccee0e --- /dev/null +++ b/src/Database/EntityFramework/Repositories/DestinationApplicationEntityRepository.cs @@ -0,0 +1,143 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class DestinationApplicationEntityRepository : IDestinationApplicationEntityRepository, IDisposable + { + private readonly ILogger<DestinationApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<DestinationApplicationEntity> _dataset; + private bool _disposedValue; + + public DestinationApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<DestinationApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<DestinationApplicationEntity>(); + } + + public async Task<DestinationApplicationEntity> AddAsync(DestinationApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset.AddAsync(item, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<DestinationApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var func = predicate.Compile(); + return await Task.FromResult(_dataset.Any(func)).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.Name.Equals(name), cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity> RemoveAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Remove(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<List<DestinationApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity> UpdateAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Update(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Repositories/InferenceRequestRepository.cs b/src/Database/EntityFramework/Repositories/InferenceRequestRepository.cs new file mode 100644 index 000000000..d3780c8aa --- /dev/null +++ b/src/Database/EntityFramework/Repositories/InferenceRequestRepository.cs @@ -0,0 +1,162 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class InferenceRequestRepository : InferenceRequestRepositoryBase, IDisposable + { + private readonly ILogger<InferenceRequestRepository> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<InferenceRequest> _dataset; + private bool _disposedValue; + + public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; + + public InferenceRequestRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<InferenceRequestRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) : base(logger, options) + { + Guard.Against.Null(serviceScopeFactory); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<InferenceRequest>(); + } + + public override async Task AddAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default) + { + Guard.Against.Null(inferenceRequest); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); + await _retryPolicy.ExecuteAsync(async () => + { + await _dataset.AddAsync(inferenceRequest).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync().ConfigureAwait(false); + _informaticsGatewayContext.Entry(inferenceRequest).State = EntityState.Detached; + _logger.InferenceRequestSaved(); + }) + .ConfigureAwait(false); + } + + public override async Task<InferenceRequest> TakeAsync(CancellationToken cancellationToken = default) + { + while (!cancellationToken.IsCancellationRequested) + { + try + { + var inferenceRequest = await _dataset.FirstOrDefaultAsync(p => p.State == InferenceRequestState.Queued, cancellationToken: cancellationToken).ConfigureAwait(false); + + if (inferenceRequest is not null) + { + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); + inferenceRequest.State = InferenceRequestState.InProcess; + _logger.InferenceRequestSetToInProgress(inferenceRequest.TransactionId); + await SaveAsync(inferenceRequest).ConfigureAwait(false); + return inferenceRequest; + } + await Task.Delay(250, cancellationToken).ConfigureAwait(false); + } + catch (Exception ex) + { + _logger.ErrorQueryingForPendingInferenceRequest(ex); + } + } + + throw new OperationCanceledException("cancellation requested."); + } + + public override async Task<InferenceRequest?> GetInferenceRequestAsync(string transactionId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(transactionId); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.TransactionId.Equals(transactionId), cancellationToken: cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public override async Task<InferenceRequest?> GetInferenceRequestAsync(Guid inferenceRequestId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrEmpty(inferenceRequestId); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.InferenceRequestId.Equals(inferenceRequestId), cancellationToken: cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected override async Task SaveAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default) + { + Guard.Against.Null(inferenceRequest); + + await _retryPolicy.ExecuteAsync(async () => + { + _logger.InferenceRequestUpdateState(); + if (inferenceRequest.State == InferenceRequestState.Completed) + { + _informaticsGatewayContext.Entry(inferenceRequest).State = EntityState.Detached; + } + _dataset.Update(inferenceRequest); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + _logger.InferenceRequestUpdated(); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Repositories/MonaiApplicationEntityRepository.cs b/src/Database/EntityFramework/Repositories/MonaiApplicationEntityRepository.cs new file mode 100644 index 000000000..41148acbc --- /dev/null +++ b/src/Database/EntityFramework/Repositories/MonaiApplicationEntityRepository.cs @@ -0,0 +1,143 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class MonaiApplicationEntityRepository : IMonaiApplicationEntityRepository, IDisposable + { + private readonly ILogger<MonaiApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<MonaiApplicationEntity> _dataset; + private bool _disposedValue; + + public MonaiApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<MonaiApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<MonaiApplicationEntity>(); + } + + public async Task<MonaiApplicationEntity> AddAsync(MonaiApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset.AddAsync(item, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<MonaiApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var func = predicate.Compile(); + return await Task.FromResult(_dataset.Any(func)).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.Name.Equals(name), cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity> RemoveAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Remove(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<List<MonaiApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity> UpdateAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Update(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Repositories/PayloadRepository.cs b/src/Database/EntityFramework/Repositories/PayloadRepository.cs new file mode 100644 index 000000000..8f849f7f0 --- /dev/null +++ b/src/Database/EntityFramework/Repositories/PayloadRepository.cs @@ -0,0 +1,156 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class PayloadRepository : IPayloadRepository, IDisposable + { + private readonly ILogger<PayloadRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<Payload> _dataset; + private bool _disposedValue; + + public PayloadRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<PayloadRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<Payload>(); + } + + public async Task<Payload> AddAsync(Payload item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset.AddAsync(item, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.AnyAsync(predicate, cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Remove(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<List<Payload>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<Payload> UpdateAsync(Payload entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Update(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<int> RemovePendingPayloadsAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var count = 0; + await _dataset.Where(p => p.State == Payload.PayloadState.Created).ForEachAsync( + p => + { + _dataset.Remove(p); + count++; + }).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return count; + }).ConfigureAwait(false); + } + + public async Task<List<Payload>> GetPayloadsInStateAsync(CancellationToken cancellationToken = default, params Payload.PayloadState[] states) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.Where(p => states.Contains(p.State)).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Repositories/SourceApplicationEntityRepository.cs b/src/Database/EntityFramework/Repositories/SourceApplicationEntityRepository.cs new file mode 100644 index 000000000..0402eca99 --- /dev/null +++ b/src/Database/EntityFramework/Repositories/SourceApplicationEntityRepository.cs @@ -0,0 +1,143 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class SourceApplicationEntityRepository : ISourceApplicationEntityRepository, IDisposable + { + private readonly ILogger<SourceApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<SourceApplicationEntity> _dataset; + private bool _disposedValue; + + public SourceApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<SourceApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<SourceApplicationEntity>(); + } + + public async Task<SourceApplicationEntity> AddAsync(SourceApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset.AddAsync(item, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<SourceApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var func = predicate.Compile(); + return await Task.FromResult(_dataset.Any(func)).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.Name.Equals(name), cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity> RemoveAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Remove(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<List<SourceApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity> UpdateAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = _dataset.Update(entity); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Repositories/StorageMetadataWrapperRepository.cs b/src/Database/EntityFramework/Repositories/StorageMetadataWrapperRepository.cs new file mode 100644 index 000000000..adb69a347 --- /dev/null +++ b/src/Database/EntityFramework/Repositories/StorageMetadataWrapperRepository.cs @@ -0,0 +1,170 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Data; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class StorageMetadataWrapperRepository : StorageMetadataRepositoryBase, IDisposable + { + private readonly ILogger<StorageMetadataWrapperRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<StorageMetadataWrapper> _dataset; + private bool _disposedValue; + + public StorageMetadataWrapperRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<StorageMetadataWrapperRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) : base(logger) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>(p => p is not ArgumentException).WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<StorageMetadataWrapper>(); + } + + protected override async Task AddAsyncInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + await _retryPolicy.ExecuteAsync(async () => + { + await _dataset.AddAsync(metadata, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + _informaticsGatewayContext.Entry(metadata).State = Microsoft.EntityFrameworkCore.EntityState.Detached; + }) + .ConfigureAwait(false); + } + + protected override async Task UpdateInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + await _retryPolicy.ExecuteAsync(async () => + { + _dataset.Update(metadata); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + _informaticsGatewayContext.Entry(metadata).State = Microsoft.EntityFrameworkCore.EntityState.Detached; + _logger.StorageMetadataSaved(); + }) + .ConfigureAwait(false); + } + + protected override async Task<StorageMetadataWrapper?> FindByIds(string id, string correlationId, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.FirstOrDefaultAsync(p => p.Identity == id && p.CorrelationId == correlationId, cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public override async Task<IList<FileStorageMetadata>> GetFileStorageMetdadataAsync(string correlationId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(correlationId); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset + .Where(p => p.CorrelationId.Equals(correlationId)) + .Select(p => p.GetObject()) + .ToListAsync(cancellationToken: cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public override async Task<FileStorageMetadata?> GetFileStorageMetdadataAsync(string correlationId, string identity, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(identity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset + .FirstOrDefaultAsync(p => p.CorrelationId.Equals(correlationId) && p.Identity.Equals(identity), cancellationToken) + .ConfigureAwait(false); + return result?.GetObject(); + }).ConfigureAwait(false); + } + + protected override async Task<bool> DeleteInternalAsync(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + return await _retryPolicy.ExecuteAsync(async () => + { + _dataset.Remove(metadata); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return true; + }).ConfigureAwait(false); + } + + public override async Task DeletePendingUploadsAsync(CancellationToken cancellationToken = default) + { + await _retryPolicy.ExecuteAsync(async () => + { + var toBeDeleted = _dataset.Where(p => !p.IsUploaded); + + if (await toBeDeleted.AnyAsync(cancellationToken).ConfigureAwait(false)) + { + _dataset.RemoveRange(toBeDeleted.ToArray()); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + } + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Test/DestinationApplicationEntityRepositoryTest.cs b/src/Database/EntityFramework/Test/DestinationApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..483ca3b73 --- /dev/null +++ b/src/Database/EntityFramework/Test/DestinationApplicationEntityRepositoryTest.cs @@ -0,0 +1,159 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class DestinationApplicationEntityRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<DestinationApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public DestinationApplicationEntityRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithDestinationApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<DestinationApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new DestinationApplicationEntity { AeTitle = "AET", HostIp = "1.2.3.4", Port = 114, Name = "AET" }; + + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(aet).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<DestinationApplicationEntity>().FirstOrDefaultAsync(p => p.Name.Equals(aet.Name)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.HostIp, actual!.HostIp); + Assert.Equal(aet.Port, actual!.Port); + Assert.Equal(aet.Name, actual!.Name); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1", StringComparison.Ordinal)).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle != "AET1" && p.Port == 114 && p.HostIp == "1.2.3.4").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Port == 114 && p.HostIp == "1.2.3.4").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Port == 999).ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("1.2.3.4", actual!.HostIp); + Assert.Equal(114, actual!.Port); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var dbResult = await _databaseFixture.DatabaseContext.Set<DestinationApplicationEntity>().FirstOrDefaultAsync(p => p.Name == "AET5").ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await _databaseFixture.DatabaseContext.Set<DestinationApplicationEntity>().ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + Assert.Equal(expected, actual); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + expected!.Port = 1000; + expected!.HostIp = "loalhost"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + Assert.Equal(expected.HostIp, dbResult!.HostIp); + Assert.Equal(expected.Port, dbResult!.Port); + } + } +} diff --git a/src/Database/EntityFramework/Test/InMemoryDatabaseFixture.cs b/src/Database/EntityFramework/Test/InMemoryDatabaseFixture.cs new file mode 100644 index 000000000..2aea0684a --- /dev/null +++ b/src/Database/EntityFramework/Test/InMemoryDatabaseFixture.cs @@ -0,0 +1,105 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [CollectionDefinition("InMemoryDatabase")] + public class InMemoryDatabaseCollection : ICollectionFixture<InMemoryDatabaseFixture> + { + // This class has no code, and is never created. Its purpose is simply + // to be the place to apply [CollectionDefinition] and all the + // ICollectionFixture<> interfaces. + } + + public class InMemoryDatabaseFixture + { + public InformaticsGatewayContext DatabaseContext { get; set; } + + public InMemoryDatabaseFixture() + { + var options = new DbContextOptionsBuilder<InformaticsGatewayContext>() + .UseInMemoryDatabase(databaseName: "InMemoryDatabase") + .Options; + DatabaseContext = new InformaticsGatewayContext(options); + DatabaseContext.Database.EnsureDeleted(); + } + + public void InitDatabaseWithDestinationApplicationEntities() + { + var aet1 = new DestinationApplicationEntity { AeTitle = "AET1", HostIp = "1.2.3.4", Port = 114, Name = "AET1" }; + var aet2 = new DestinationApplicationEntity { AeTitle = "AET2", HostIp = "1.2.3.4", Port = 114, Name = "AET2" }; + var aet3 = new DestinationApplicationEntity { AeTitle = "AET3", HostIp = "1.2.3.4", Port = 114, Name = "AET3" }; + var aet4 = new DestinationApplicationEntity { AeTitle = "AET4", HostIp = "1.2.3.4", Port = 114, Name = "AET4" }; + var aet5 = new DestinationApplicationEntity { AeTitle = "AET5", HostIp = "1.2.3.4", Port = 114, Name = "AET5" }; + + var set = DatabaseContext.Set<DestinationApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void InitDatabaseWithMonaiApplicationEntities() + { + var aet1 = new MonaiApplicationEntity { AeTitle = "AET1", Name = "AET1" }; + var aet2 = new MonaiApplicationEntity { AeTitle = "AET2", Name = "AET2" }; + var aet3 = new MonaiApplicationEntity { AeTitle = "AET3", Name = "AET3" }; + var aet4 = new MonaiApplicationEntity { AeTitle = "AET4", Name = "AET4" }; + var aet5 = new MonaiApplicationEntity { AeTitle = "AET5", Name = "AET5" }; + + var set = DatabaseContext.Set<MonaiApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void InitDatabaseWithSourceApplicationEntities() + { + var aet1 = new SourceApplicationEntity { AeTitle = "AET1", Name = "AET1", HostIp = "1.2.3.4" }; + var aet2 = new SourceApplicationEntity { AeTitle = "AET2", Name = "AET2", HostIp = "1.2.3.4" }; + var aet3 = new SourceApplicationEntity { AeTitle = "AET3", Name = "AET3", HostIp = "1.2.3.4" }; + var aet4 = new SourceApplicationEntity { AeTitle = "AET4", Name = "AET4", HostIp = "1.2.3.4" }; + var aet5 = new SourceApplicationEntity { AeTitle = "AET5", Name = "AET5", HostIp = "1.2.3.4" }; + + var set = DatabaseContext.Set<SourceApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void Dispose() + { + DatabaseContext.Dispose(); + } + } +} diff --git a/src/Database/EntityFramework/Test/InferenceRequestRepositoryTest.cs b/src/Database/EntityFramework/Test/InferenceRequestRepositoryTest.cs new file mode 100644 index 000000000..a90ff02d1 --- /dev/null +++ b/src/Database/EntityFramework/Test/InferenceRequestRepositoryTest.cs @@ -0,0 +1,261 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class InferenceRequestRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<InferenceRequestRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public InferenceRequestRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture; + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<InferenceRequestRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => _databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAnInferenceRequest_WhenAddingToDatabase_ExpectItToBeSaved() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<InferenceRequest>().FirstOrDefaultAsync(p => p.InferenceRequestId.Equals(inferenceRequest.InferenceRequestId)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(inferenceRequest.InferenceRequestId, actual!.InferenceRequestId); + Assert.Equal(inferenceRequest.State, actual!.State); + Assert.Equal(inferenceRequest.Status, actual!.Status); + Assert.Equal(inferenceRequest.TransactionId, actual!.TransactionId); + Assert.Equal(inferenceRequest.TryCount, actual!.TryCount); + } + + [Fact] + public async Task GivenAFailedInferenceRequstThatExceededRetries_WhenUpdateIsCalled_ShallMarkAsFailed() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString(), + TryCount = 3 + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Fail).ConfigureAwait(false); + + var result = await _databaseFixture.DatabaseContext.Set<InferenceRequest>().FirstOrDefaultAsync(p => p.TransactionId == inferenceRequest.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Completed, result!.State); + Assert.Equal(InferenceRequestStatus.Fail, result!.Status); + } + + [Fact] + public async Task GivenAFailedInferenceRequst_WhenUpdateIsCalled_ShallRetryLater() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString(), + TryCount = 1 + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Fail).ConfigureAwait(false); + + var result = await _databaseFixture.DatabaseContext.Set<InferenceRequest>().FirstOrDefaultAsync(p => p.TransactionId == inferenceRequest.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Queued, result!.State); + Assert.Equal(InferenceRequestStatus.Unknown, result!.Status); + Assert.Equal(2, result!.TryCount); + } + + [Fact] + public async Task GivenASuccessfulInferenceRequest_WhenUpdateIsCalled_ShallMarkAsCompleted() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString() + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Success).ConfigureAwait(false); + + var result = await _databaseFixture.DatabaseContext.Set<InferenceRequest>().FirstOrDefaultAsync(p => p.TransactionId == inferenceRequest.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Completed, result!.State); + Assert.Equal(InferenceRequestStatus.Success, result!.Status); + } + + [Fact] + public async Task GivenAQueuedInferenceRequests_WhenTakeIsCalled_ShallReturnFirstQueued() + { + var set = _databaseFixture.DatabaseContext.Set<InferenceRequest>(); + set.RemoveRange(set.ToList()); + await _databaseFixture.DatabaseContext.SaveChangesAsync().ConfigureAwait(false); + var inferenceRequestInProcess = CreateInferenceRequest(InferenceRequestState.InProcess); + var inferenceRequestCompleted = CreateInferenceRequest(InferenceRequestState.Completed); + var inferenceRequestQueued = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequestInProcess).ConfigureAwait(false); + await store.AddAsync(inferenceRequestCompleted).ConfigureAwait(false); + await store.AddAsync(inferenceRequestQueued).ConfigureAwait(false); + + var actual = await store.TakeAsync().ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal(inferenceRequestQueued.InferenceRequestId, actual!.InferenceRequestId); + Assert.Equal(InferenceRequestState.InProcess, actual!.State); + Assert.Equal(inferenceRequestQueued.Status, actual!.Status); + Assert.Equal(inferenceRequestQueued.TransactionId, actual!.TransactionId); + Assert.Equal(inferenceRequestQueued.TryCount, actual!.TryCount); + } + + [Fact] + public async Task GivenNoQueuedInferenceRequests_WhenTakeIsCalled_ShallReturnNotReturnAnything() + { + _databaseFixture.Clear<InferenceRequest>(); + + var cancellationTokenSource = new CancellationTokenSource(); + var inferenceRequestInProcess = CreateInferenceRequest(InferenceRequestState.InProcess); + var inferenceRequestCompleted = CreateInferenceRequest(InferenceRequestState.Completed); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequestInProcess).ConfigureAwait(false); + await store.AddAsync(inferenceRequestCompleted).ConfigureAwait(false); + + cancellationTokenSource.CancelAfter(500); + await Assert.ThrowsAsync<OperationCanceledException>(async () => await store.TakeAsync(cancellationTokenSource.Token).ConfigureAwait(false)).ConfigureAwait(false); + } + + [Fact] + public async Task GivenInferenceRequests_WhenGetInferenceRequestIsCalled_ShallReturnMatchingObject() + { + var inferenceRequest1 = CreateInferenceRequest(); + var inferenceRequest2 = CreateInferenceRequest(); + var inferenceRequest3 = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest1).ConfigureAwait(false); + await store.AddAsync(inferenceRequest2).ConfigureAwait(false); + await store.AddAsync(inferenceRequest3).ConfigureAwait(false); + + var result = await store.GetInferenceRequestAsync(inferenceRequest1.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest1.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest2.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest2.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest3.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest3.TransactionId, result!.TransactionId); + + result = await store.GetInferenceRequestAsync(inferenceRequest1.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest1.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest2.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest2.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest3.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest3.TransactionId, result!.TransactionId); + } + + [Fact] + public async Task GivenInferenceRequests_WhenExistsCalled_ShallReturnCorrectValue() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.ExistsAsync(inferenceRequest.TransactionId).ConfigureAwait(false); + Assert.True(result); + + result = await store.ExistsAsync("random").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAMatchingInferenceRequest_WhenGetStatusCalled_ShallReturnStatus() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.GetStatusAsync(inferenceRequest.TransactionId).ConfigureAwait(false); + + Assert.NotNull(result); + Assert.Equal(inferenceRequest.TransactionId, result!.TransactionId); + } + + [Fact] + public async Task GivenNoMatchingInferenceRequest_WhenGetStatusCalled_ShallReturnStatus() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.GetStatusAsync("bogus").ConfigureAwait(false); + + Assert.Null(result); + } + + private static InferenceRequest CreateInferenceRequest(InferenceRequestState state = InferenceRequestState.Queued) => new() + { + InferenceRequestId = Guid.NewGuid(), + State = state, + Status = InferenceRequestStatus.Unknown, + TransactionId = Guid.NewGuid().ToString(), + TryCount = 0, + }; + } +} diff --git a/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj b/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj new file mode 100644 index 000000000..effb31ad9 --- /dev/null +++ b/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj @@ -0,0 +1,46 @@ +<!-- + ~ Copyright 2022 MONAI Consortium + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. +--> + +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> + <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="xunit" Version="2.4.2" /> + <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + <PackageReference Include="coverlet.collector" Version="3.2.0"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> + </ItemGroup> + +</Project> diff --git a/src/Database/EntityFramework/Test/MonaiApplicationEntityRepositoryTest.cs b/src/Database/EntityFramework/Test/MonaiApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..372484845 --- /dev/null +++ b/src/Database/EntityFramework/Test/MonaiApplicationEntityRepositoryTest.cs @@ -0,0 +1,163 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class MonaiApplicationEntityRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<MonaiApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public MonaiApplicationEntityRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithMonaiApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<MonaiApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new MonaiApplicationEntity + { + AeTitle = "AET", + Name = "AET", + Timeout = 100, + AllowedSopClasses = new List<string> { "1", "2", "3" }, + Workflows = new List<string> { "W1", "W2" }, + Grouping = "G", + IgnoredSopClasses = new List<string> { "4", "5" } + }; + + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(aet).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<MonaiApplicationEntity>().FirstOrDefaultAsync(p => p.Name.Equals(aet.Name)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.Name, actual!.Name); + Assert.Equal(aet.Timeout, actual!.Timeout); + Assert.Equal(aet.AllowedSopClasses, actual!.AllowedSopClasses); + Assert.Equal(aet.Workflows, actual!.Workflows); + Assert.Equal(aet.Grouping, actual!.Grouping); + Assert.Equal(aet.IgnoredSopClasses, actual!.IgnoredSopClasses); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1", StringComparison.Ordinal)).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name != "AET2").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name == "AET6").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var dbResult = await _databaseFixture.DatabaseContext.Set<MonaiApplicationEntity>().FirstOrDefaultAsync(p => p.Name == "AET5").ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await _databaseFixture.DatabaseContext.Set<MonaiApplicationEntity>().ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + Assert.Equal(expected, actual); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + } + } +} diff --git a/src/Database/EntityFramework/Test/SourceApplicationEntityRepositoryTest.cs b/src/Database/EntityFramework/Test/SourceApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..8df19376f --- /dev/null +++ b/src/Database/EntityFramework/Test/SourceApplicationEntityRepositoryTest.cs @@ -0,0 +1,155 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class SourceApplicationEntityRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<SourceApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public SourceApplicationEntityRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithSourceApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<SourceApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new SourceApplicationEntity + { + AeTitle = "AET", + Name = "AET", + HostIp = "localhost" + }; + + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(aet).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<SourceApplicationEntity>().FirstOrDefaultAsync(p => p.Name.Equals(aet.Name)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.Name, actual!.Name); + Assert.Equal(aet.HostIp, actual!.HostIp); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1", StringComparison.Ordinal)).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name != "AET2").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name == "AET6").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var dbResult = await _databaseFixture.DatabaseContext.Set<SourceApplicationEntity>().FirstOrDefaultAsync(p => p.Name == "AET5").ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await _databaseFixture.DatabaseContext.Set<SourceApplicationEntity>().ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + Assert.Equal(expected, actual); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + } + } +} diff --git a/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs new file mode 100644 index 000000000..aa52fd850 --- /dev/null +++ b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs @@ -0,0 +1,112 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [CollectionDefinition("SqliteDatabase")] + public class SqliteDatabaseCollection : ICollectionFixture<SqliteDatabaseFixture> + { + // This class has no code, and is never created. Its purpose is simply + // to be the place to apply [CollectionDefinition] and all the + // ICollectionFixture<> interfaces. + } + + public class SqliteDatabaseFixture + { + public InformaticsGatewayContext DatabaseContext { get; set; } + + public SqliteDatabaseFixture() + { + var options = new DbContextOptionsBuilder<InformaticsGatewayContext>() + .UseSqlite("DataSource=file::memory:?cache=shared") + .Options; + DatabaseContext = new InformaticsGatewayContext(options); + DatabaseContext.Database.EnsureCreated(); + } + + public void InitDatabaseWithDestinationApplicationEntities() + { + var aet1 = new DestinationApplicationEntity { AeTitle = "AET1", HostIp = "1.2.3.4", Port = 114, Name = "AET1" }; + var aet2 = new DestinationApplicationEntity { AeTitle = "AET2", HostIp = "1.2.3.4", Port = 114, Name = "AET2" }; + var aet3 = new DestinationApplicationEntity { AeTitle = "AET3", HostIp = "1.2.3.4", Port = 114, Name = "AET3" }; + var aet4 = new DestinationApplicationEntity { AeTitle = "AET4", HostIp = "1.2.3.4", Port = 114, Name = "AET4" }; + var aet5 = new DestinationApplicationEntity { AeTitle = "AET5", HostIp = "1.2.3.4", Port = 114, Name = "AET5" }; + + var set = DatabaseContext.Set<DestinationApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void InitDatabaseWithMonaiApplicationEntities() + { + var aet1 = new MonaiApplicationEntity { AeTitle = "AET1", Name = "AET1" }; + var aet2 = new MonaiApplicationEntity { AeTitle = "AET2", Name = "AET2" }; + var aet3 = new MonaiApplicationEntity { AeTitle = "AET3", Name = "AET3" }; + var aet4 = new MonaiApplicationEntity { AeTitle = "AET4", Name = "AET4" }; + var aet5 = new MonaiApplicationEntity { AeTitle = "AET5", Name = "AET5" }; + + var set = DatabaseContext.Set<MonaiApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void InitDatabaseWithSourceApplicationEntities() + { + var aet1 = new SourceApplicationEntity { AeTitle = "AET1", Name = "AET1", HostIp = "1.2.3.4" }; + var aet2 = new SourceApplicationEntity { AeTitle = "AET2", Name = "AET2", HostIp = "1.2.3.4" }; + var aet3 = new SourceApplicationEntity { AeTitle = "AET3", Name = "AET3", HostIp = "1.2.3.4" }; + var aet4 = new SourceApplicationEntity { AeTitle = "AET4", Name = "AET4", HostIp = "1.2.3.4" }; + var aet5 = new SourceApplicationEntity { AeTitle = "AET5", Name = "AET5", HostIp = "1.2.3.4" }; + + var set = DatabaseContext.Set<SourceApplicationEntity>(); + set.RemoveRange(set.ToList()); + set.Add(aet1); + set.Add(aet2); + set.Add(aet3); + set.Add(aet4); + set.Add(aet5); + + DatabaseContext.SaveChanges(); + } + + public void Clear<T>() where T : class + { + var set = DatabaseContext.Set<T>(); + set.RemoveRange(set.ToList()); + DatabaseContext.SaveChanges(); + } + + public void Dispose() + { + DatabaseContext.Dispose(); + } + } +} diff --git a/src/Database/EntityFramework/Test/StorageMetadataWrapperRepositoryTest.cs b/src/Database/EntityFramework/Test/StorageMetadataWrapperRepositoryTest.cs new file mode 100644 index 000000000..61241f224 --- /dev/null +++ b/src/Database/EntityFramework/Test/StorageMetadataWrapperRepositoryTest.cs @@ -0,0 +1,255 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Text.Json; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class StorageMetadataWrapperRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<StorageMetadataWrapperRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public StorageMetadataWrapperRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<StorageMetadataWrapperRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public void GivenStorageMetadataWrapperRepositoryType_WhenInitialized_TheConstructorShallGuardAllParameters() + { + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(null!, null!, null!)); + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, null!)); + + _ = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + } + + [Fact] + public async Task GivenADicomStorageMetadataObject_WhenAddingToDatabase_ExpectItToBeSaved() + { + var metadata = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(metadata).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<StorageMetadataWrapper>().FirstOrDefaultAsync(p => p.Identity.Equals(metadata.Id)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(metadata.CorrelationId, actual!.CorrelationId); + Assert.Equal(metadata.IsUploaded, actual!.IsUploaded); + Assert.Equal(metadata.GetType().AssemblyQualifiedName, actual!.TypeName); + Assert.Equal(JsonSerializer.Serialize<object>(metadata), actual!.Value); + } + + [Fact] + public async Task GivenANonExistedDicomStorageMetadataObject_WhenSavedToDatabase_ThrowsArgumentException() + { + var metadata1 = CreateMetadataObject(); + var metadata2 = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + await store.AddOrUpdateAsync(metadata1).ConfigureAwait(false); + await Assert.ThrowsAsync<ArgumentException>(async () => await store.UpdateAsync(metadata2).ConfigureAwait(false)).ConfigureAwait(false); + } + + [Fact] + public async Task GivenAnExistingDicomStorageMetadataObject_WhenUpdated_ExpectItToBeSaved() + { + var metadata = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(metadata).ConfigureAwait(false); + metadata.SetWorkflows("A", "B", "C"); + metadata.File.SetUploaded("bucket"); + + await store.AddOrUpdateAsync(metadata).ConfigureAwait(false); + + var actual = await _databaseFixture.DatabaseContext.Set<StorageMetadataWrapper>().FirstOrDefaultAsync(p => p.Identity.Equals(metadata.Id)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(metadata.CorrelationId, actual!.CorrelationId); + Assert.Equal(metadata.IsUploaded, actual!.IsUploaded); + Assert.Equal(metadata.GetType().AssemblyQualifiedName, actual!.TypeName); + Assert.Equal(JsonSerializer.Serialize<object>(metadata), actual!.Value); + + var unwrapped = actual.GetObject(); + Assert.NotNull(unwrapped); + + Assert.Equal(metadata.Workflows, unwrapped!.Workflows); + Assert.Equal(metadata.File.TemporaryBucketName, unwrapped!.File.TemporaryBucketName); + } + + [Fact] + public async Task GivenACorrelationId_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() + { + var correlationId = Guid.NewGuid(); + var list = new List<FileStorageMetadata>{ + CreateMetadataObject(correlationId), + CreateMetadataObject(correlationId), + CreateMetadataObject(), + new FhirFileStorageMetadata( + correlationId.ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + FhirStorageFormat.Json), + new FhirFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + FhirStorageFormat.Json), + }; + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + foreach (var item in list) + { + await store.AddOrUpdateAsync(item).ConfigureAwait(false); + } + + var results = await store.GetFileStorageMetdadataAsync(correlationId.ToString()).ConfigureAwait(false); + + Assert.Equal(3, results.Count); + + Assert.Collection(results, + (item) => item!.Id.Equals(list[0].Id), + (item) => item!.Id.Equals(list[1].Id), + (item) => item!.Id.Equals(list[2].Id)); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var expected = new DicomFileStorageMetadata( + correlationId, + identifier, + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddOrUpdateAsync(expected).ConfigureAwait(false); + + var match = await store.GetFileStorageMetdadataAsync(correlationId, identifier).ConfigureAwait(false); + + Assert.NotNull(match); + Assert.Equal(expected.Id, match!.Id); + Assert.Equal(expected.CorrelationId, match.CorrelationId); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalled_ExpectMatchingInstanceToBeDeleted() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var expected = new DicomFileStorageMetadata( + correlationId, + identifier, + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(expected).ConfigureAwait(false); + var result = await store.DeleteAsync(correlationId, identifier).ConfigureAwait(false); + Assert.True(result); + + var stored = await _databaseFixture.DatabaseContext.Set<StorageMetadataWrapper>().FirstOrDefaultAsync(p => p.Identity == identifier).ConfigureAwait(false); + Assert.Null(stored); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalledWithoutAMatch_ExpectNothingIsDeleted() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var pending = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(pending).ConfigureAwait(false); + + var result = await store.DeleteAsync(correlationId, identifier).ConfigureAwait(false); + Assert.False(result); + + var stored = await _databaseFixture.DatabaseContext.Set<StorageMetadataWrapper>().FirstOrDefaultAsync(p => p.Identity == pending.Id).ConfigureAwait(false); + Assert.NotNull(stored); + } + + [Fact] + public async Task GivenStorageMetadataObjects_WhenDeletingPendingUploadsObject_ExpectAllPendingObjectsToBeDeleted() + { + _databaseFixture.Clear<StorageMetadataWrapper>(); + + var pending = CreateMetadataObject(); + var uploaded = CreateMetadataObject(); + uploaded.File.SetUploaded("bucket"); + uploaded.JsonFile.SetUploaded("bucket"); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(pending).ConfigureAwait(false); + await store.AddAsync(uploaded).ConfigureAwait(false); + + await store.DeletePendingUploadsAsync().ConfigureAwait(false); + + var result = await _databaseFixture.DatabaseContext.Set<StorageMetadataWrapper>().ToListAsync().ConfigureAwait(false); + Assert.Single(result); + Assert.Equal(uploaded.Id, result[0].Identity); + } + + private static DicomFileStorageMetadata CreateMetadataObject() => CreateMetadataObject(Guid.NewGuid()); + + private static DicomFileStorageMetadata CreateMetadataObject(Guid corrleationId) => new( + corrleationId.ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + } +} diff --git a/src/Database/Api/Test/StorageMetadataWrapperTest.cs b/src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs similarity index 98% rename from src/Database/Api/Test/StorageMetadataWrapperTest.cs rename to src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs index e549bf809..9a27a8ae7 100644 --- a/src/Database/Api/Test/StorageMetadataWrapperTest.cs +++ b/src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs @@ -18,7 +18,7 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Database.Api; -namespace Monai.Deploy.InformaticsGateway.Database.Test +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test { public class StorageMetadataWrapperTest { diff --git a/src/Database/EntityFramework/Test/Usings.cs b/src/Database/EntityFramework/Test/Usings.cs new file mode 100644 index 000000000..1a1f3f8a0 --- /dev/null +++ b/src/Database/EntityFramework/Test/Usings.cs @@ -0,0 +1,17 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +global using Xunit; diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json new file mode 100644 index 000000000..4f9e1e560 --- /dev/null +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -0,0 +1,1517 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.EntityFrameworkCore.InMemory": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "2h5Pyy5e5EJhvMVl1UGPTLst1Q/+8rwEIvjsFwQDrsOmbsgzlbkvCJM2K89wvjA3UKAn5nTyRxCzKu9MMaJYkg==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/appsettings.json b/src/Database/EntityFramework/appsettings.json similarity index 100% rename from src/Database/appsettings.json rename to src/Database/EntityFramework/appsettings.json diff --git a/src/Database/EntityFramework/packages.lock.json b/src/Database/EntityFramework/packages.lock.json new file mode 100644 index 000000000..ffc351e68 --- /dev/null +++ b/src/Database/EntityFramework/packages.lock.json @@ -0,0 +1,513 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Microsoft.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Design": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "2H9vcmv9PIboVMisL0izD+xaUaWeZ/jqqRJeaD8MKIDaKwZsdHE790Sa4fAHjZjzVgoraELRI7CscjPMfLE2jA==", + "dependencies": { + "Humanizer.Core": "2.8.26", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "Humanizer.Core": { + "type": "Transitive", + "resolved": "2.8.26", + "contentHash": "OiKusGL20vby4uDEswj2IgkdchC1yQ6rwbIkZDVBPIR6al2b7n3pC91elBul9q33KaBgRKhbZH3+2Ur4fnWx2A==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index 2ba6321ea..d4fd80ccc 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -21,6 +21,7 @@ <TargetFramework>net6.0</TargetFramework> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -28,6 +29,7 @@ <ProjectReference Include="..\Configuration\Monai.Deploy.InformaticsGateway.Configuration.csproj" /> <ProjectReference Include="Api\Monai.Deploy.InformaticsGateway.Database.Api.csproj" /> <ProjectReference Include="EntityFramework\Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj" /> + <ProjectReference Include="MongoDB\Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj" /> </ItemGroup> <ItemGroup> @@ -37,9 +39,9 @@ </ItemGroup> <ItemGroup> - <Compile Remove="Mongo\**" /> - <EmbeddedResource Remove="Mongo\**" /> - <None Remove="Mongo\**" /> + <Compile Remove="MongoDB\**" /> + <EmbeddedResource Remove="MongoDB\**" /> + <None Remove="MongoDB\**" /> </ItemGroup> <ItemGroup> @@ -59,12 +61,13 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" /> </ItemGroup> </Project> diff --git a/src/Database/MongoDB/Configurations/DestinationApplicationEntityConfiguration.cs b/src/Database/MongoDB/Configurations/DestinationApplicationEntityConfiguration.cs new file mode 100644 index 000000000..25ceefb39 --- /dev/null +++ b/src/Database/MongoDB/Configurations/DestinationApplicationEntityConfiguration.cs @@ -0,0 +1,34 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using MongoDB.Bson.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class DestinationApplicationEntityConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<DestinationApplicationEntity>(j => + { + j.AutoMap(); + j.SetIgnoreExtraElements(true); + }); + } + } +} diff --git a/src/Database/MongoDB/Configurations/InferenceRequestConfiguration.cs b/src/Database/MongoDB/Configurations/InferenceRequestConfiguration.cs new file mode 100644 index 000000000..caa7721f5 --- /dev/null +++ b/src/Database/MongoDB/Configurations/InferenceRequestConfiguration.cs @@ -0,0 +1,42 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api.Rest; +using MongoDB.Bson; +using MongoDB.Bson.Serialization; +using MongoDB.Bson.Serialization.IdGenerators; +using MongoDB.Bson.Serialization.Serializers; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class InferenceRequestConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<InferenceRequest>(j => + { + j.AutoMap(); + j.MapIdMember(c => c.InferenceRequestId) + .SetIdGenerator(GuidGenerator.Instance) + .SetSerializer(new GuidSerializer(BsonType.String)); + j.SetIgnoreExtraElements(true); + + j.UnmapProperty(p => p.Application); + }); + } + } +} diff --git a/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs b/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs new file mode 100644 index 000000000..4a8e2a65d --- /dev/null +++ b/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs @@ -0,0 +1,37 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using MongoDB.Bson; +using MongoDB.Bson.Serialization; +using MongoDB.Bson.Serialization.IdGenerators; +using MongoDB.Bson.Serialization.Serializers; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class MonaiApplicationEntityConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<MonaiApplicationEntity>(j => + { + j.AutoMap(); + j.SetIgnoreExtraElements(true); + }); + } + } +} diff --git a/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs b/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs new file mode 100644 index 000000000..3713e7430 --- /dev/null +++ b/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs @@ -0,0 +1,39 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using MongoDB.Bson; +using MongoDB.Bson.Serialization; +using MongoDB.Bson.Serialization.IdGenerators; +using MongoDB.Bson.Serialization.Serializers; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class MongoDBEntityBaseConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<MongoDBEntityBase>(j => + { + j.SetIsRootClass(true); + j.MapIdMember(c => c.Id) + .SetIdGenerator(GuidGenerator.Instance) + .SetSerializer(new GuidSerializer(BsonType.String)); + }); + } + } +} diff --git a/src/Database/MongoDB/Configurations/MongoDBOptions.cs b/src/Database/MongoDB/Configurations/MongoDBOptions.cs new file mode 100644 index 000000000..34a49ef7e --- /dev/null +++ b/src/Database/MongoDB/Configurations/MongoDBOptions.cs @@ -0,0 +1,26 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.Configuration; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + public class MongoDBOptions + { + [ConfigurationKeyName("DatabaseName")] + public string DaatabaseName { get; set; } = string.Empty; + } +} diff --git a/src/Database/MongoDB/Configurations/PayloadConfiguration.cs b/src/Database/MongoDB/Configurations/PayloadConfiguration.cs new file mode 100644 index 000000000..447c9fec5 --- /dev/null +++ b/src/Database/MongoDB/Configurations/PayloadConfiguration.cs @@ -0,0 +1,50 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api.Storage; +using MongoDB.Bson; +using MongoDB.Bson.Serialization; +using MongoDB.Bson.Serialization.IdGenerators; +using MongoDB.Bson.Serialization.Serializers; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class PayloadConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<Payload>(j => + { + j.AutoMap(); + j.MapIdMember(c => c.PayloadId) + .SetIdGenerator(GuidGenerator.Instance) + .SetSerializer(new GuidSerializer(BsonType.String)); + j.SetIgnoreExtraElements(true); + + j.UnmapProperty(p => p.CalledAeTitle); + j.UnmapProperty(p => p.CallingAeTitle); + j.UnmapProperty(p => p.HasTimedOut); + j.UnmapProperty(p => p.Elapsed); + j.UnmapProperty(p => p.Count); + }); + + BsonClassMap.RegisterClassMap<DicomFileStorageMetadata>(); + BsonClassMap.RegisterClassMap<FhirFileStorageMetadata>(); + BsonClassMap.RegisterClassMap<Hl7FileStorageMetadata>(); + + } + } +} diff --git a/src/Database/MongoDB/Configurations/SourceApplicationEntityConfiguration.cs b/src/Database/MongoDB/Configurations/SourceApplicationEntityConfiguration.cs new file mode 100644 index 000000000..d82b562ef --- /dev/null +++ b/src/Database/MongoDB/Configurations/SourceApplicationEntityConfiguration.cs @@ -0,0 +1,33 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using MongoDB.Bson.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class SourceApplicationEntityConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<SourceApplicationEntity>(j => + { + j.AutoMap(); + j.SetIgnoreExtraElements(true); + }); + } + } +} diff --git a/src/Database/MongoDB/Configurations/StorageMetadataWrapperEntityConfiguration.cs b/src/Database/MongoDB/Configurations/StorageMetadataWrapperEntityConfiguration.cs new file mode 100644 index 000000000..23d60f7ca --- /dev/null +++ b/src/Database/MongoDB/Configurations/StorageMetadataWrapperEntityConfiguration.cs @@ -0,0 +1,34 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Database.Api; +using MongoDB.Bson.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class StorageMetadataWrapperEntityConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<StorageMetadataWrapper>(j => + { + j.AutoMap(); + j.SetIgnoreExtraElements(true); + }); + } + } +} diff --git a/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj b/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj new file mode 100644 index 000000000..56f0a462a --- /dev/null +++ b/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj @@ -0,0 +1,47 @@ +<!-- + ~ Copyright 2021-2022 MONAI Consortium + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. +--> + +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <RootNamespace>Monai.Deploy.InformaticsGateway.Database.MongoDB</RootNamespace> + <TargetFramework>net6.0</TargetFramework> + <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> + <ImplicitUsings>enable</ImplicitUsings> + <CodeAnalysisRuleSet>..\..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <Nullable>enable</Nullable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + </PropertyGroup> + + <ItemGroup> + <Compile Remove="Test\**" /> + <EmbeddedResource Remove="Test\**" /> + <None Remove="Test\**" /> + </ItemGroup> + + <ItemGroup> + <AdditionalFiles Include="..\..\.sonarlint\project-monai_monai-deploy-informatics-gateway\CSharp\SonarLint.xml" Link="SonarLint.xml" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="MongoDB.Driver" Version="2.18.0" /> + <PackageReference Include="MongoDB.Driver.Core" Version="2.18.0" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\Api\Monai.Deploy.InformaticsGateway.Database.Api.csproj" /> + </ItemGroup> +</Project> diff --git a/src/Database/MongoDB/MongoDatabaseMigrationManager.cs b/src/Database/MongoDB/MongoDatabaseMigrationManager.cs new file mode 100644 index 000000000..f373d3e80 --- /dev/null +++ b/src/Database/MongoDB/MongoDatabaseMigrationManager.cs @@ -0,0 +1,37 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.Hosting; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB +{ + public class MongoDatabaseMigrationManager : IDatabaseMigrationManager + { + public IHost Migrate(IHost host) + { + MonaiApplicationEntityConfiguration.Configure(); + MongoDBEntityBaseConfiguration.Configure(); + DestinationApplicationEntityConfiguration.Configure(); + SourceApplicationEntityConfiguration.Configure(); + InferenceRequestConfiguration.Configure(); + PayloadConfiguration.Configure(); + StorageMetadataWrapperEntityConfiguration.Configure(); + return host; + } + } +} diff --git a/src/Database/MongoDB/Repositories/DestinationApplicationEntityRepository.cs b/src/Database/MongoDB/Repositories/DestinationApplicationEntityRepository.cs new file mode 100644 index 000000000..0807986b6 --- /dev/null +++ b/src/Database/MongoDB/Repositories/DestinationApplicationEntityRepository.cs @@ -0,0 +1,171 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class DestinationApplicationEntityRepository : IDestinationApplicationEntityRepository, IDisposable + { + private readonly ILogger<DestinationApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly IMongoCollection<DestinationApplicationEntity> _collection; + private bool _disposedValue; + + public DestinationApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<DestinationApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var options = new CreateIndexOptions { Unique = true }; + + var indexDefinition = Builders<DestinationApplicationEntity>.IndexKeys + .Ascending(_ => _.Name); + _collection.Indexes.CreateOne(new CreateIndexModel<DestinationApplicationEntity>(indexDefinition, options)); + + var indexDefinitionAll = Builders<DestinationApplicationEntity>.IndexKeys.Combine( + Builders<DestinationApplicationEntity>.IndexKeys.Ascending(_ => _.Name), + Builders<DestinationApplicationEntity>.IndexKeys.Ascending(_ => _.AeTitle), + Builders<DestinationApplicationEntity>.IndexKeys.Ascending(_ => _.HostIp), + Builders<DestinationApplicationEntity>.IndexKeys.Ascending(_ => _.Port)); + _collection.Indexes.CreateOne(new CreateIndexModel<DestinationApplicationEntity>(indexDefinitionAll, options)); + } + + public async Task<List<DestinationApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<DestinationApplicationEntity>.Filter.Empty).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection + .Find(x => x.Name == name) + .FirstOrDefaultAsync().ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity> AddAsync(DestinationApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(item, cancellationToken: cancellationToken).ConfigureAwait(false); + return item; + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity> UpdateAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.ReplaceOneAsync(p => p.Id == entity.Id, entity, cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.ModifiedCount == 0) + { + throw new DatabaseException("Failed to update entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<DestinationApplicationEntity> RemoveAsync(DestinationApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.DeleteOneAsync(Builders<DestinationApplicationEntity>.Filter.Where(p => p.Name == entity.Name), cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.DeletedCount == 0) + { + throw new DatabaseException("Failed to delete entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<DestinationApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.FindAsync(predicate, cancellationToken: cancellationToken).ConfigureAwait(false); + return await result.AnyAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/Repositories/InferenceRequestRepository.cs b/src/Database/MongoDB/Repositories/InferenceRequestRepository.cs new file mode 100644 index 000000000..d064eb93b --- /dev/null +++ b/src/Database/MongoDB/Repositories/InferenceRequestRepository.cs @@ -0,0 +1,180 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class InferenceRequestRepository : InferenceRequestRepositoryBase, IDisposable + { + private readonly ILogger<InferenceRequestRepository> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + private readonly IServiceScope _scope; + private readonly IMongoCollection<InferenceRequest> _collection; + private readonly AsyncRetryPolicy _retryPolicy; + private bool _disposedValue; + + public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; + + public InferenceRequestRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<InferenceRequestRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) : base(logger, options) + { + Guard.Against.Null(serviceScopeFactory); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _options = options ?? throw new ArgumentNullException(nameof(options)); + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var options = new CreateIndexOptions { Unique = true }; + + var indexDefinitionState = Builders<InferenceRequest>.IndexKeys + .Ascending(_ => _.State); + _collection.Indexes.CreateOne(new CreateIndexModel<InferenceRequest>(indexDefinitionState)); + + var indexDefinitionTransactionId = Builders<InferenceRequest>.IndexKeys + .Ascending(_ => _.TransactionId); + _collection.Indexes.CreateOne(new CreateIndexModel<InferenceRequest>(indexDefinitionTransactionId, options)); + } + + public override async Task AddAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default) + { + Guard.Against.Null(inferenceRequest); + + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); + await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(inferenceRequest, cancellationToken: cancellationToken).ConfigureAwait(false); + _logger.InferenceRequestSaved(); + }) + .ConfigureAwait(false); + } + + public override async Task<InferenceRequest> TakeAsync(CancellationToken cancellationToken = default) + { + while (!cancellationToken.IsCancellationRequested) + { + try + { + var inferenceRequest = await _collection + .FindOneAndUpdateAsync( + Builders<InferenceRequest>.Filter.Where(p => p.State == InferenceRequestState.Queued), + Builders<InferenceRequest>.Update.Set(p => p.State, InferenceRequestState.InProcess), + new FindOneAndUpdateOptions<InferenceRequest> { ReturnDocument = ReturnDocument.After }, + cancellationToken: cancellationToken) + .ConfigureAwait(false); + + if (inferenceRequest is not null) + { + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); + _logger.InferenceRequestSetToInProgress(inferenceRequest.TransactionId); + return inferenceRequest; + } + await Task.Delay(250, cancellationToken).ConfigureAwait(false); + } + catch (Exception ex) + { + _logger.ErrorQueryingForPendingInferenceRequest(ex); + } + } + + throw new OperationCanceledException("cancellation requested."); + } + + public override async Task<InferenceRequest?> GetInferenceRequestAsync(string transactionId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(transactionId); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<InferenceRequest>.Filter.Where(p => p.TransactionId == transactionId)) + .FirstOrDefaultAsync(cancellationToken) + .ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public override async Task<InferenceRequest?> GetInferenceRequestAsync(Guid inferenceRequestId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrEmpty(inferenceRequestId); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<InferenceRequest>.Filter.Where(p => p.InferenceRequestId == inferenceRequestId)) + .FirstOrDefaultAsync(cancellationToken) + .ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected override async Task SaveAsync(InferenceRequest inferenceRequest, CancellationToken cancellationToken = default) + { + Guard.Against.Null(inferenceRequest); + + await _retryPolicy.ExecuteAsync(async () => + { + _logger.InferenceRequestUpdateState(); + await _collection.ReplaceOneAsync(p => p.InferenceRequestId == inferenceRequest.InferenceRequestId, inferenceRequest, cancellationToken: cancellationToken).ConfigureAwait(false); + _logger.InferenceRequestUpdated(); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/Repositories/MonaiApplicationEntityRepository.cs b/src/Database/MongoDB/Repositories/MonaiApplicationEntityRepository.cs new file mode 100644 index 000000000..f160457a1 --- /dev/null +++ b/src/Database/MongoDB/Repositories/MonaiApplicationEntityRepository.cs @@ -0,0 +1,164 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class MonaiApplicationEntityRepository : IMonaiApplicationEntityRepository, IDisposable + { + private readonly ILogger<MonaiApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly IMongoCollection<MonaiApplicationEntity> _collection; + private bool _disposedValue; + + public MonaiApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<MonaiApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var options = new CreateIndexOptions { Unique = true }; + + var indexDefinition = Builders<MonaiApplicationEntity>.IndexKeys + .Ascending(_ => _.Name); + _collection.Indexes.CreateOne(new CreateIndexModel<MonaiApplicationEntity>(indexDefinition, options)); + } + + public async Task<List<MonaiApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<MonaiApplicationEntity>.Filter.Empty).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection + .Find(x => x.Name == name) + .FirstOrDefaultAsync().ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity> AddAsync(MonaiApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(item, cancellationToken: cancellationToken).ConfigureAwait(false); + return item; + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity> UpdateAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.ReplaceOneAsync(p => p.Id == entity.Id, entity, cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.ModifiedCount == 0) + { + throw new DatabaseException("Failed to update entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<MonaiApplicationEntity> RemoveAsync(MonaiApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.DeleteOneAsync(Builders<MonaiApplicationEntity>.Filter.Where(p => p.Name == entity.Name), cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.DeletedCount == 0) + { + throw new DatabaseException("Failed to delete entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<MonaiApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.FindAsync(predicate, cancellationToken: cancellationToken).ConfigureAwait(false); + return await result.AnyAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/Repositories/PayloadRepository.cs b/src/Database/MongoDB/Repositories/PayloadRepository.cs new file mode 100644 index 000000000..6f84784f2 --- /dev/null +++ b/src/Database/MongoDB/Repositories/PayloadRepository.cs @@ -0,0 +1,176 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class PayloadRepository : IPayloadRepository, IDisposable + { + private readonly ILogger<PayloadRepository> _logger; + private readonly IServiceScope _scope; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly IMongoCollection<Payload> _collection; + private bool _disposedValue; + + public PayloadRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<PayloadRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<Payload>(nameof(Payload)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var options = new CreateIndexOptions { Unique = true }; + + var indexDefinitionState = Builders<Payload>.IndexKeys + .Ascending(_ => _.State); + _collection.Indexes.CreateOne(new CreateIndexModel<Payload>(indexDefinitionState)); + + var indexDefinition = Builders<Payload>.IndexKeys.Combine( + Builders<Payload>.IndexKeys.Ascending(_ => _.CorrelationId), + Builders<Payload>.IndexKeys.Ascending(_ => _.PayloadId)); + + _collection.Indexes.CreateOne(new CreateIndexModel<Payload>(indexDefinition, options)); + } + + public async Task<Payload> AddAsync(Payload item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(item, cancellationToken: cancellationToken).ConfigureAwait(false); + return item; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.FindAsync(predicate, cancellationToken: cancellationToken).ConfigureAwait(false); + return await result.AnyAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.DeleteOneAsync(Builders<Payload>.Filter.Where(p => p.PayloadId == entity.PayloadId), cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.DeletedCount == 0) + { + throw new DatabaseException("Failed to delete entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<List<Payload>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<Payload>.Filter.Empty).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<Payload> UpdateAsync(Payload entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.ReplaceOneAsync(p => p.PayloadId == entity.PayloadId, entity, cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.ModifiedCount == 0) + { + throw new DatabaseException("Failed to update entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<int> RemovePendingPayloadsAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var results = await _collection.DeleteManyAsync(Builders<Payload>.Filter.Where(p => p.State == Payload.PayloadState.Created), cancellationToken).ConfigureAwait(false); + return Convert.ToInt32(results.DeletedCount); + }).ConfigureAwait(false); + } + + public async Task<List<Payload>> GetPayloadsInStateAsync(CancellationToken cancellationToken = default, params Payload.PayloadState[] states) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<Payload>.Filter.Where(p => states.Contains(p.State))).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/Repositories/SourceApplicationEntityRepository.cs b/src/Database/MongoDB/Repositories/SourceApplicationEntityRepository.cs new file mode 100644 index 000000000..4d179a554 --- /dev/null +++ b/src/Database/MongoDB/Repositories/SourceApplicationEntityRepository.cs @@ -0,0 +1,170 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Linq.Expressions; +using Ardalis.GuardClauses; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class SourceApplicationEntityRepository : ISourceApplicationEntityRepository, IDisposable + { + private readonly ILogger<SourceApplicationEntityRepository> _logger; + private readonly IServiceScope _scope; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly IMongoCollection<SourceApplicationEntity> _collection; + private bool _disposedValue; + + public SourceApplicationEntityRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<SourceApplicationEntityRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var options = new CreateIndexOptions { Unique = true }; + + var indexDefinition = Builders<SourceApplicationEntity>.IndexKeys + .Ascending(_ => _.Name); + _collection.Indexes.CreateOne(new CreateIndexModel<SourceApplicationEntity>(indexDefinition, options)); + + var indexDefinitionAll = Builders<SourceApplicationEntity>.IndexKeys.Combine( + Builders<SourceApplicationEntity>.IndexKeys.Ascending(_ => _.Name), + Builders<SourceApplicationEntity>.IndexKeys.Ascending(_ => _.AeTitle), + Builders<SourceApplicationEntity>.IndexKeys.Ascending(_ => _.HostIp)); + _collection.Indexes.CreateOne(new CreateIndexModel<SourceApplicationEntity>(indexDefinitionAll, options)); + } + + public async Task<List<SourceApplicationEntity>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<SourceApplicationEntity>.Filter.Empty).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity?> FindByNameAsync(string name, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(name); + + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection + .Find(x => x.Name == name) + .FirstOrDefaultAsync().ConfigureAwait(false); + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity> AddAsync(SourceApplicationEntity item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(item, cancellationToken: cancellationToken).ConfigureAwait(false); + return item; + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity> UpdateAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.ReplaceOneAsync(p => p.Id == entity.Id, entity, cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.ModifiedCount == 0) + { + throw new DatabaseException("Failed to update entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<SourceApplicationEntity> RemoveAsync(SourceApplicationEntity entity, CancellationToken cancellationToken = default) + { + Guard.Against.Null(entity); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.DeleteOneAsync(Builders<SourceApplicationEntity>.Filter.Where(p => p.Name == entity.Name), cancellationToken: cancellationToken).ConfigureAwait(false); + if (result.DeletedCount == 0) + { + throw new DatabaseException("Failed to delete entity"); + } + return entity; + }).ConfigureAwait(false); + } + + public async Task<bool> ContainsAsync(Expression<Func<SourceApplicationEntity, bool>> predicate, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.FindAsync(predicate, cancellationToken: cancellationToken).ConfigureAwait(false); + return await result.AnyAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/Repositories/StorageMetadataWrapperRepository.cs b/src/Database/MongoDB/Repositories/StorageMetadataWrapperRepository.cs new file mode 100644 index 000000000..25d51a47f --- /dev/null +++ b/src/Database/MongoDB/Repositories/StorageMetadataWrapperRepository.cs @@ -0,0 +1,177 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Data; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class StorageMetadataWrapperRepository : StorageMetadataRepositoryBase, IDisposable + { + private readonly ILogger<StorageMetadataWrapperRepository> _logger; + private readonly IServiceScope _scope; + private readonly IMongoCollection<StorageMetadataWrapper> _collection; + private readonly AsyncRetryPolicy _retryPolicy; + private bool _disposedValue; + + public StorageMetadataWrapperRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<StorageMetadataWrapperRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) : base(logger) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>(p => p is not ArgumentException).WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + CreateIndexes(); + } + + private void CreateIndexes() + { + var indexDefinition = Builders<StorageMetadataWrapper>.IndexKeys.Combine( + Builders<StorageMetadataWrapper>.IndexKeys.Ascending(_ => _.CorrelationId), + Builders<StorageMetadataWrapper>.IndexKeys.Ascending(_ => _.Identity)); + + _collection.Indexes.CreateOne(new CreateIndexModel<StorageMetadataWrapper>(indexDefinition)); + } + + protected override async Task<bool> DeleteInternalAsync(StorageMetadataWrapper toBeDeleted, CancellationToken cancellationToken) + { + Guard.Against.Null(toBeDeleted); + + return await _retryPolicy.ExecuteAsync(async () => + { + var results = await _collection.DeleteOneAsync(Builders<StorageMetadataWrapper>.Filter.Where(p => p.Identity == toBeDeleted.Identity), cancellationToken: cancellationToken).ConfigureAwait(false); + return results.DeletedCount == 1; + }).ConfigureAwait(false); + } + + public override async Task DeletePendingUploadsAsync(CancellationToken cancellationToken = default) + { + await _retryPolicy.ExecuteAsync(async () => + { + await _collection.DeleteManyAsync(Builders<StorageMetadataWrapper>.Filter.Where(p => !p.IsUploaded), cancellationToken); + }).ConfigureAwait(false); + } + + public override async Task<IList<FileStorageMetadata>> GetFileStorageMetdadataAsync(string correlationId, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(correlationId); + + return await _retryPolicy.ExecuteAsync(async () => + { + var results = await _collection.Find(Builders<StorageMetadataWrapper>.Filter.Where(p => p.CorrelationId == correlationId)) + .ToListAsync(cancellationToken) + .ConfigureAwait(false); + return results.Select(p => p.GetObject()).ToList(); + }).ConfigureAwait(false); + } + + public override async Task<FileStorageMetadata?> GetFileStorageMetdadataAsync(string correlationId, string identity, CancellationToken cancellationToken = default) + { + Guard.Against.NullOrWhiteSpace(correlationId); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _collection.Find(Builders<StorageMetadataWrapper>.Filter.Where(p => p.CorrelationId == correlationId && p.Identity == identity)) + .FirstOrDefaultAsync(cancellationToken) + .ConfigureAwait(false); + return result?.GetObject(); + }).ConfigureAwait(false); + } + + protected override async Task UpdateInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + await _retryPolicy.ExecuteAsync(async () => + { + await _collection.ReplaceOneAsync( + Builders<StorageMetadataWrapper>.Filter.Where(p => p.Identity == metadata.Identity), + metadata, + cancellationToken: cancellationToken) + .ConfigureAwait(false); + }) + .ConfigureAwait(false); + } + + protected override async Task<StorageMetadataWrapper?> FindByIds(string id, string correlationId, CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<StorageMetadataWrapper>.Filter.Where(p => p.CorrelationId == correlationId && p.Identity == id)) + .FirstOrDefaultAsync(cancellationToken) + .ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected override async Task AddAsyncInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default) + { + Guard.Against.Null(metadata); + + await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(metadata, cancellationToken: cancellationToken).ConfigureAwait(false); + }) + .ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/MongoDB/packages.lock.json b/src/Database/MongoDB/packages.lock.json new file mode 100644 index 000000000..01d290d3d --- /dev/null +++ b/src/Database/MongoDB/packages.lock.json @@ -0,0 +1,450 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "MongoDB.Driver": { + "type": "Direct", + "requested": "[2.18.0, )", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Direct", + "requested": "[2.18.0, )", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json new file mode 100644 index 000000000..67a78a02e --- /dev/null +++ b/src/Database/packages.lock.json @@ -0,0 +1,630 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + } + } + } +} \ No newline at end of file diff --git a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj index 0ff8edd97..c9daddab8 100644 --- a/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj +++ b/src/DicomWebClient/CLI/Monai.Deploy.InformaticsGateway.DicomWeb.Client.CLI.csproj @@ -10,6 +10,15 @@ limitations under the License. --> <Project Sdk="Microsoft.NET.Sdk"> + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>net6.0</TargetFramework> + <AssemblyName>dicomweb-cli</AssemblyName> + <PublishTrimmed>true</PublishTrimmed> + <PublishReadyToRun>true</PublishReadyToRun> + <CodeAnalysisRuleSet>..\..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + </PropertyGroup> <ItemGroup> <AdditionalFiles Include="..\..\.sonarlint\project-monai_monai-deploy-informatics-gateway\CSharp\SonarLint.xml" Link="SonarLint.xml" /> @@ -20,15 +29,6 @@ <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj" /> </ItemGroup> - <PropertyGroup> - <OutputType>Exe</OutputType> - <TargetFramework>net6.0</TargetFramework> - <AssemblyName>dicomweb-cli</AssemblyName> - <PublishTrimmed>true</PublishTrimmed> - <PublishReadyToRun>true</PublishReadyToRun> - <CodeAnalysisRuleSet>..\..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <Optimize>true</Optimize> </PropertyGroup> diff --git a/src/DicomWebClient/CLI/Qido.cs b/src/DicomWebClient/CLI/Qido.cs index d10869ba8..f02b6a461 100644 --- a/src/DicomWebClient/CLI/Qido.cs +++ b/src/DicomWebClient/CLI/Qido.cs @@ -87,8 +87,8 @@ private Dictionary<string, string> ParseQueryString(string query) private async Task SaveJson(string outputDir, IAsyncEnumerable<string> enumerable) { - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); - Guard.Against.Null(enumerable, nameof(enumerable)); + Guard.Against.NullOrWhiteSpace(outputDir); + Guard.Against.Null(enumerable); await foreach (var item in enumerable) { @@ -98,7 +98,7 @@ private async Task SaveJson(string outputDir, IAsyncEnumerable<string> enumerabl private void ValidateOutputDirectory(ref string outputDir) { - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); + Guard.Against.NullOrWhiteSpace(outputDir); if (outputDir == ".") { @@ -112,7 +112,7 @@ private void ValidateOutputDirectory(ref string outputDir) private void ValidateOptions(string rootUrl, out Uri rootUri) { - Guard.Against.NullOrWhiteSpace(rootUrl, nameof(rootUrl)); + Guard.Against.NullOrWhiteSpace(rootUrl); _logger.LogInformation("Checking arguments..."); rootUri = new Uri(rootUrl); diff --git a/src/DicomWebClient/CLI/Stow.cs b/src/DicomWebClient/CLI/Stow.cs index 460b5d9e7..fa673121b 100644 --- a/src/DicomWebClient/CLI/Stow.cs +++ b/src/DicomWebClient/CLI/Stow.cs @@ -132,7 +132,7 @@ private void AddValidFiles(List<DicomFile> dicomFiles, params string[] files) private void ValidateOptions(string rootUrl, out Uri rootUri) { - Guard.Against.NullOrWhiteSpace(rootUrl, nameof(rootUrl)); + Guard.Against.NullOrWhiteSpace(rootUrl); _logger.LogInformation("Checking arguments..."); rootUri = new Uri(rootUrl); diff --git a/src/DicomWebClient/CLI/Utils.cs b/src/DicomWebClient/CLI/Utils.cs index c50a1d136..583903e30 100644 --- a/src/DicomWebClient/CLI/Utils.cs +++ b/src/DicomWebClient/CLI/Utils.cs @@ -31,8 +31,8 @@ internal static class Utils { public static void CheckAndConfirmOverwriteOutputFilename<T>(ILogger<T> logger, string filename) { - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.NullOrWhiteSpace(filename, nameof(filename)); + Guard.Against.Null(logger); + Guard.Against.NullOrWhiteSpace(filename); if (File.Exists(filename)) { @@ -52,8 +52,8 @@ public static void CheckAndConfirmOverwriteOutputFilename<T>(ILogger<T> logger, public static void CheckAndConfirmOverwriteOutput<T>(ILogger<T> logger, string outputDir) { - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); + Guard.Against.Null(logger); + Guard.Against.NullOrWhiteSpace(outputDir); if (Directory.Exists(outputDir)) { @@ -78,8 +78,8 @@ public static void CheckAndConfirmOverwriteOutput<T>(ILogger<T> logger, string o public static AuthenticationHeaderValue GenerateFromUsernamePassword(string username, string password) { - Guard.Against.NullOrWhiteSpace(username, nameof(username)); - Guard.Against.NullOrWhiteSpace(password, nameof(password)); + Guard.Against.NullOrWhiteSpace(username); + Guard.Against.NullOrWhiteSpace(password); var authToken = Encoding.ASCII.GetBytes($"{username}:{password}"); return new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authToken)); @@ -93,9 +93,9 @@ public static async Task SaveFiles<T>(ILogger<T> logger, string outputDirectory, public static async Task SaveFiles<T>(ILogger<T> logger, DicomFile dicomFile, string filename) { - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.Null(dicomFile, nameof(dicomFile)); - Guard.Against.NullOrWhiteSpace(filename, nameof(filename)); + Guard.Against.Null(logger); + Guard.Against.Null(dicomFile); + Guard.Against.NullOrWhiteSpace(filename); logger.LogInformation($"Saving {filename}..."); await dicomFile.SaveAsync(filename).ConfigureAwait(false); @@ -103,9 +103,9 @@ public static async Task SaveFiles<T>(ILogger<T> logger, DicomFile dicomFile, st internal static async Task SaveJson(ILogger logger, string outputDir, string item, DicomTag filenameSourceTag) { - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); - Guard.Against.NullOrWhiteSpace(item, nameof(item)); + Guard.Against.Null(logger); + Guard.Against.NullOrWhiteSpace(outputDir); + Guard.Against.NullOrWhiteSpace(item); var token = JToken.Parse(item); var value = GetTagValueFromJson(token, filenameSourceTag); @@ -125,9 +125,9 @@ internal static async Task SaveJson(ILogger logger, string outputDir, string ite internal static async Task SaveJson(ILogger logger, string outputFilename, string text) { - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.NullOrWhiteSpace(outputFilename, nameof(outputFilename)); - Guard.Against.NullOrWhiteSpace(text, nameof(text)); + Guard.Against.Null(logger); + Guard.Against.NullOrWhiteSpace(outputFilename); + Guard.Against.NullOrWhiteSpace(text); var token = JToken.Parse(text); logger.LogInformation($"Saving JSON {outputFilename}..."); @@ -136,8 +136,8 @@ internal static async Task SaveJson(ILogger logger, string outputFilename, strin private static string GetTagValueFromJson(JToken token, DicomTag dicomTag, string defaultValue = "unknown") { - Guard.Against.Null(token, nameof(token)); - Guard.Against.Null(dicomTag, nameof(dicomTag)); + Guard.Against.Null(token); + Guard.Against.Null(dicomTag); var tag = $"{dicomTag.Group:X4}{dicomTag.Element:X4}"; diff --git a/src/DicomWebClient/CLI/Wado.cs b/src/DicomWebClient/CLI/Wado.cs index fa209dde2..c2e343d99 100644 --- a/src/DicomWebClient/CLI/Wado.cs +++ b/src/DicomWebClient/CLI/Wado.cs @@ -176,8 +176,8 @@ public async Task Bulk( private async Task SaveJson(string outputDir, IAsyncEnumerable<string> enumerable) { - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); - Guard.Against.Null(enumerable, nameof(enumerable)); + Guard.Against.NullOrWhiteSpace(outputDir); + Guard.Against.Null(enumerable); await foreach (var item in enumerable) { @@ -187,8 +187,8 @@ private async Task SaveJson(string outputDir, IAsyncEnumerable<string> enumerabl private async Task SaveFiles(string outputDir, IAsyncEnumerable<DicomFile> enumerable) { - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); - Guard.Against.Null(enumerable, nameof(enumerable)); + Guard.Against.NullOrWhiteSpace(outputDir); + Guard.Against.Null(enumerable); var count = 0; await foreach (var file in enumerable) @@ -201,7 +201,7 @@ private async Task SaveFiles(string outputDir, IAsyncEnumerable<DicomFile> enume private void ValidateOutputFilename(ref string filename) { - Guard.Against.NullOrWhiteSpace(filename, nameof(filename)); + Guard.Against.NullOrWhiteSpace(filename); try { @@ -216,7 +216,7 @@ private void ValidateOutputFilename(ref string filename) private void ValidateOutputDirectory(ref string outputDir) { - Guard.Against.NullOrWhiteSpace(outputDir, nameof(outputDir)); + Guard.Against.NullOrWhiteSpace(outputDir); if (outputDir == ".") { @@ -230,8 +230,8 @@ private void ValidateOutputDirectory(ref string outputDir) private void ValidateOptions(string rootUrl, string transferSyntaxes, out Uri rootUri, out List<DicomTransferSyntax> dicomTransferSyntaxes) { - Guard.Against.NullOrWhiteSpace(rootUrl, nameof(rootUrl)); - Guard.Against.NullOrWhiteSpace(transferSyntaxes, nameof(transferSyntaxes)); + Guard.Against.NullOrWhiteSpace(rootUrl); + Guard.Against.NullOrWhiteSpace(transferSyntaxes); _logger.LogInformation("Checking arguments..."); rootUri = new Uri(rootUrl); diff --git a/src/DicomWebClient/CLI/packages.lock.json b/src/DicomWebClient/CLI/packages.lock.json new file mode 100644 index 000000000..a7d23637f --- /dev/null +++ b/src/DicomWebClient/CLI/packages.lock.json @@ -0,0 +1,1495 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "ConsoleAppFramework": { + "type": "Direct", + "requested": "[4.2.4, )", + "resolved": "4.2.4", + "contentHash": "8qR4Gz3GBuNw9IAIrCJTpMCP7WbbBEJrNYj5SHPgsA+kSOmgepXvtREQ8sML5U9NyN2XHZ7l64bFS4u2uIK3HA==", + "dependencies": { + "Microsoft.Extensions.Hosting": "6.0.0", + "System.Text.Json": "6.0.1" + } + }, + "fo-dicom": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "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.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Threading": "4.3.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "tq2wXyh3fL17EMF2bXgRhU7JrbO3on93MRKYxzz4JzzvuGSA1l0W3GI9/tl8EO89TH+KWEymP7bcFway6z9fXg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "DjYkzqvhiHCq38LW71PcIxXk6nhtV6VySP9yDcSO0goPl7YCU1VG1f2Wbgy58lkA10pWkjHCblZPUyboCB93ZA==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lB0Hb2V4+RUHy+LjEcqEr4EcV4RWc9EnjAV2GdtWQEdljQX+R4hGREftI7sInU9okP93pDrJiaj6QUJ6ZsslOA==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M8VzD0ni5VarIRT8njnwK4K2WSAo0kZH4Zc3mKcSGkP4CjDZ91T9ZEFmmwhmo4z7x8AFq+tW0WFi9wX+K2cxkQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.0", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "10.0.1", + "contentHash": "ebWzW9j2nwxQeBo59As2TYn7nYr9BHicqqCwHOD1Vdo+50HBtLPuqdiCYJcLdTRknpYis/DSEOQz5KmZxwrIAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "System.Collections": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "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.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "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.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.NonGeneric": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "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" + } + }, + "System.Collections.Specialized": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "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" + } + }, + "System.ComponentModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.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.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.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "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.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Async": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Runtime.Serialization.Formatters": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "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" + } + }, + "System.Runtime.Serialization.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "System.Xml.XmlDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "dependencies": { + "System.Collections": "4.3.0", + "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.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/DicomWebClient/Common/HttpResponseMessageExtension.cs b/src/DicomWebClient/Common/HttpResponseMessageExtension.cs index 668663e92..bd95e9d01 100644 --- a/src/DicomWebClient/Common/HttpResponseMessageExtension.cs +++ b/src/DicomWebClient/Common/HttpResponseMessageExtension.cs @@ -31,7 +31,7 @@ internal static class HttpMessageExtension { public static void AddRange(this HttpRequestMessage request, Tuple<int, int?> byteRange = null) { - Guard.Against.Null(request, nameof(request)); + Guard.Against.Null(request); if (byteRange is null) { request.Headers.Add(HeaderNames.Range, "byte=0-"); @@ -45,7 +45,7 @@ public static void AddRange(this HttpRequestMessage request, Tuple<int, int?> by public static async IAsyncEnumerable<DicomFile> ToDicomAsyncEnumerable(this HttpResponseMessage response) { - Guard.Against.Null(response, nameof(response)); + Guard.Against.Null(response); Guard.Against.Null(response.Content, nameof(response.Content)); await foreach (var buffer in DecodeMultipartMessage(response)) { @@ -58,7 +58,7 @@ public static async IAsyncEnumerable<DicomFile> ToDicomAsyncEnumerable(this Http public static async Task<byte[]> ToBinaryData(this HttpResponseMessage response) { - Guard.Against.Null(response, nameof(response)); + Guard.Against.Null(response); using (var memoryStream = new MemoryStream()) { await foreach (var buffer in DecodeMultipartMessage(response)) @@ -71,7 +71,7 @@ public static async Task<byte[]> ToBinaryData(this HttpResponseMessage response) private static async IAsyncEnumerable<byte[]> DecodeMultipartMessage(HttpResponseMessage response) { - Guard.Against.Null(response, nameof(response)); + Guard.Against.Null(response); var contentType = response.Content.Headers.ContentType; if (contentType.MediaType != MimeMappings.MultiPartRelated) { diff --git a/src/DicomWebClient/DicomWebClient.cs b/src/DicomWebClient/DicomWebClient.cs index 76f071e68..6693e77db 100644 --- a/src/DicomWebClient/DicomWebClient.cs +++ b/src/DicomWebClient/DicomWebClient.cs @@ -49,7 +49,7 @@ public class DicomWebClient : IDicomWebClient /// <param name="logger">Optional logger for capturing client logs.</param> public DicomWebClient(HttpClient httpClient, ILogger<DicomWebClient> logger) { - Guard.Against.Null(httpClient, nameof(httpClient)); + Guard.Against.Null(httpClient); _httpClient = httpClient; _logger = logger; @@ -82,7 +82,7 @@ public void ConfigureServiceUris(Uri uriRoot) public void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPrefix) #pragma warning restore CA1054 { - Guard.Against.NullOrWhiteSpace(urlPrefix, nameof(urlPrefix)); + Guard.Against.NullOrWhiteSpace(urlPrefix); switch (serviceType) { @@ -112,7 +112,7 @@ public void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPr /// <inheritdoc/> public void ConfigureAuthentication(AuthenticationHeaderValue value) { - Guard.Against.Null(value, nameof(value)); + Guard.Against.Null(value); _httpClient.DefaultRequestHeaders.Authorization = value; } diff --git a/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj b/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj index c4e1e1a85..c2af0ca26 100644 --- a/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj +++ b/src/DicomWebClient/Monai.Deploy.InformaticsGateway.DicomWeb.Client.csproj @@ -23,6 +23,7 @@ <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsTrimmable>true</IsTrimmable> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -44,7 +45,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.9" /> diff --git a/src/DicomWebClient/Services/QidoService.cs b/src/DicomWebClient/Services/QidoService.cs index 73d3c248c..8d2e3dc98 100644 --- a/src/DicomWebClient/Services/QidoService.cs +++ b/src/DicomWebClient/Services/QidoService.cs @@ -71,7 +71,7 @@ public async IAsyncEnumerable<T> SearchForStudies<T>(IReadOnlyDictionary<string, private void AppendQueryOptions(List<string> queries, bool fuzzyMatching, int limit, int offset) { - Guard.Against.Null(queries, nameof(queries)); + Guard.Against.Null(queries); if (fuzzyMatching) { queries.Add("fuzzymatching=true"); @@ -90,7 +90,7 @@ private void AppendQueryOptions(List<string> queries, bool fuzzyMatching, int li private void AppendAdditionalFields(List<string> queries, IReadOnlyList<string> fieldsToInclude) { - Guard.Against.Null(queries, nameof(queries)); + Guard.Against.Null(queries); if (fieldsToInclude is null || fieldsToInclude.Count == 0) { @@ -105,7 +105,7 @@ private void AppendAdditionalFields(List<string> queries, IReadOnlyList<string> private void AppendQueryParameters(List<string> queries, IReadOnlyDictionary<string, string> queryParameters) { - Guard.Against.Null(queries, nameof(queries)); + Guard.Against.Null(queries); if (queryParameters is null || queryParameters.Count == 0) { diff --git a/src/DicomWebClient/Services/ServiceBase.cs b/src/DicomWebClient/Services/ServiceBase.cs index cbe1f2154..6425c559e 100644 --- a/src/DicomWebClient/Services/ServiceBase.cs +++ b/src/DicomWebClient/Services/ServiceBase.cs @@ -44,7 +44,7 @@ protected ServiceBase(HttpClient httpClient, ILogger logger = null) public bool TryConfigureServiceUriPrefix(string uriPrefix) { - Guard.Against.NullOrWhiteSpace(uriPrefix, nameof(uriPrefix)); + Guard.Against.NullOrWhiteSpace(uriPrefix); if (HttpClient.BaseAddress is null) { diff --git a/src/DicomWebClient/Services/StowService.cs b/src/DicomWebClient/Services/StowService.cs index 44e44dbef..c64986a75 100644 --- a/src/DicomWebClient/Services/StowService.cs +++ b/src/DicomWebClient/Services/StowService.cs @@ -45,7 +45,7 @@ public StowService(HttpClient httpClient, ILogger logger = null) /// <inheritdoc /> public async Task<DicomWebResponse<string>> Store(string studyInstanceUid, IEnumerable<DicomFile> dicomFiles, CancellationToken cancellationToken = default) { - Guard.Against.NullOrEmpty(dicomFiles, nameof(dicomFiles)); + Guard.Against.NullOrEmpty(dicomFiles); var postUri = GetStudiesUri(studyInstanceUid); diff --git a/src/DicomWebClient/Services/WadoService.cs b/src/DicomWebClient/Services/WadoService.cs index 175a36f52..67250e67a 100644 --- a/src/DicomWebClient/Services/WadoService.cs +++ b/src/DicomWebClient/Services/WadoService.cs @@ -41,7 +41,7 @@ public async IAsyncEnumerable<DicomFile> Retrieve( string studyInstanceUid, params DicomTransferSyntax[] transferSyntaxes) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); var studyUri = GetStudiesUri(studyInstanceUid); @@ -66,9 +66,9 @@ public async IAsyncEnumerable<DicomFile> Retrieve( string seriesInstanceUid, params DicomTransferSyntax[] transferSyntaxes) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); DicomValidation.ValidateUI(seriesInstanceUid); var seriesUri = GetSeriesUri(studyInstanceUid, seriesInstanceUid); @@ -94,11 +94,11 @@ public async Task<DicomFile> Retrieve( string sopInstanceUid, params DicomTransferSyntax[] transferSyntaxes) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); DicomValidation.ValidateUI(seriesInstanceUid); - Guard.Against.NullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid)); + Guard.Against.NullOrWhiteSpace(sopInstanceUid); DicomValidation.ValidateUI(sopInstanceUid); var instanceUri = GetInstanceUri(studyInstanceUid, seriesInstanceUid, sopInstanceUid); @@ -153,11 +153,11 @@ public async Task<byte[]> Retrieve( Tuple<int, int?> byteRange = null, params DicomTransferSyntax[] transferSyntaxes) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); DicomValidation.ValidateUI(seriesInstanceUid); - Guard.Against.NullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid)); + Guard.Against.NullOrWhiteSpace(sopInstanceUid); DicomValidation.ValidateUI(sopInstanceUid); return await Retrieve(new Uri($"{RequestServicePrefix}studies/{studyInstanceUid}/series/{seriesInstanceUid}/instances/{sopInstanceUid}/bulk/{dicomTag.Group:X4}{dicomTag.Element:X4}", UriKind.Relative), byteRange, transferSyntaxes); @@ -175,7 +175,7 @@ public async Task<byte[]> Retrieve( Tuple<int, int?> byteRange = null, params DicomTransferSyntax[] transferSyntaxes) { - Guard.Against.Null(bulkdataUri, nameof(bulkdataUri)); + Guard.Against.Null(bulkdataUri); if (bulkdataUri.IsAbsoluteUri) { @@ -200,7 +200,7 @@ public async Task<byte[]> Retrieve( public async IAsyncEnumerable<T> RetrieveMetadata<T>( string studyInstanceUid) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); var studyUri = GetStudiesUri(studyInstanceUid); var studyMetadataUri = new Uri($"{studyUri}metadata", UriKind.Relative); @@ -217,9 +217,9 @@ public async IAsyncEnumerable<T> RetrieveMetadata<T>( string studyInstanceUid, string seriesInstanceUid) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); DicomValidation.ValidateUI(seriesInstanceUid); var seriesUri = GetSeriesUri(studyInstanceUid, seriesInstanceUid); @@ -237,11 +237,11 @@ public async Task<T> RetrieveMetadata<T>( string seriesInstanceUid, string sopInstanceUid) { - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); DicomValidation.ValidateUI(studyInstanceUid); - Guard.Against.NullOrWhiteSpace(seriesInstanceUid, nameof(seriesInstanceUid)); + Guard.Against.NullOrWhiteSpace(seriesInstanceUid); DicomValidation.ValidateUI(seriesInstanceUid); - Guard.Against.NullOrWhiteSpace(sopInstanceUid, nameof(sopInstanceUid)); + Guard.Against.NullOrWhiteSpace(sopInstanceUid); DicomValidation.ValidateUI(sopInstanceUid); var instanceUri = GetInstanceUri(studyInstanceUid, seriesInstanceUid, sopInstanceUid); diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index 1dd7b9b8d..8dc7fdd46 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -22,6 +22,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test</RootNamespace> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> diff --git a/src/DicomWebClient/Test/packages.lock.json b/src/DicomWebClient/Test/packages.lock.json new file mode 100644 index 000000000..4734d7ead --- /dev/null +++ b/src/DicomWebClient/Test/packages.lock.json @@ -0,0 +1,1229 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "xRetry": { + "type": "Direct", + "requested": "[1.8.0, )", + "resolved": "1.8.0", + "contentHash": "H8KXWHBjQASwD4y/7L2j7j4KLmg8z4+mCV4atrhZvJVnCkVSKLkWe1lfKGmaCYkKt2dJnC4yH+tJXGqthSkGGg==", + "dependencies": { + "xunit.core": "[2.4.0, 3.0.0)" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Async": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/DicomWebClient/packages.lock.json b/src/DicomWebClient/packages.lock.json new file mode 100644 index 000000000..714d952dd --- /dev/null +++ b/src/DicomWebClient/packages.lock.json @@ -0,0 +1,1263 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "fo-dicom": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Direct", + "requested": "[5.2.9, )", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Extensions.Http": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Direct", + "requested": "[2.2.8, )", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "System.Linq.Async": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "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.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Threading": "4.3.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "TsETIgVJb/AKoYfSP+iCxkuly5d3inZjTdx/ItZLk2CxY85v8083OBS3uai84kK3/baLnS5/b5XGs6zR7SuuHQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "10.0.1", + "contentHash": "ebWzW9j2nwxQeBo59As2TYn7nYr9BHicqqCwHOD1Vdo+50HBtLPuqdiCYJcLdTRknpYis/DSEOQz5KmZxwrIAg==", + "dependencies": { + "Microsoft.CSharp": "4.3.0", + "System.Collections": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "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.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Runtime.Serialization.Formatters": "4.3.0", + "System.Runtime.Serialization.Primitives": "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.Xml.ReaderWriter": "4.3.0", + "System.Xml.XDocument": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.NonGeneric": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "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" + } + }, + "System.Collections.Specialized": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "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" + } + }, + "System.ComponentModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.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.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.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Dynamic.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "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.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Runtime.Serialization.Formatters": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", + "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" + } + }, + "System.Runtime.Serialization.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", + "dependencies": { + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "System.Xml.XmlDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "dependencies": { + "System.Collections": "4.3.0", + "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.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + } + } + } +} \ No newline at end of file diff --git a/src/InformaticsGateway/Common/DicomExtensions.cs b/src/InformaticsGateway/Common/DicomExtensions.cs index bd9eddb66..958faaadc 100644 --- a/src/InformaticsGateway/Common/DicomExtensions.cs +++ b/src/InformaticsGateway/Common/DicomExtensions.cs @@ -54,7 +54,7 @@ public static DicomTransferSyntax[] ToDicomTransferSyntaxArray(this IEnumerable< public static string ToJson(this DicomFile dicomFile, DicomJsonOptions dicomJsonOptions, bool validateDicom) { - Guard.Against.Null(dicomFile, nameof(dicomFile)); + Guard.Against.Null(dicomFile); var options = new JsonSerializerOptions(); options.Converters.Add(new DicomJsonConverter( diff --git a/src/InformaticsGateway/Common/DicomToolkit.cs b/src/InformaticsGateway/Common/DicomToolkit.cs index 1ba2a872f..d78455a73 100644 --- a/src/InformaticsGateway/Common/DicomToolkit.cs +++ b/src/InformaticsGateway/Common/DicomToolkit.cs @@ -26,14 +26,14 @@ public class DicomToolkit : IDicomToolkit { public Task<DicomFile> OpenAsync(Stream stream, FileReadOption fileReadOption = FileReadOption.Default) { - Guard.Against.Null(stream, nameof(stream)); + Guard.Against.Null(stream); return DicomFile.OpenAsync(stream, fileReadOption); } public DicomFile Load(byte[] fileContent) { - Guard.Against.NullOrEmpty(fileContent, nameof(fileContent)); + Guard.Against.NullOrEmpty(fileContent); using var stream = new MemoryStream(fileContent); var dicomFile = DicomFile.Open(stream, FileReadOption.ReadAll); @@ -47,7 +47,7 @@ public DicomFile Load(byte[] fileContent) public StudySerieSopUids GetStudySeriesSopInstanceUids(DicomFile dicomFile) { - Guard.Against.Null(dicomFile, nameof(dicomFile)); + Guard.Against.Null(dicomFile); return new StudySerieSopUids { diff --git a/src/InformaticsGateway/Common/FileMoveException.cs b/src/InformaticsGateway/Common/FileMoveException.cs new file mode 100644 index 000000000..cb8664c35 --- /dev/null +++ b/src/InformaticsGateway/Common/FileMoveException.cs @@ -0,0 +1,46 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Runtime.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Common +{ + [Serializable] + internal class FileMoveException : Exception + { + public FileMoveException() + { + } + + public FileMoveException(string message) : base(message) + { + } + + public FileMoveException(string message, Exception innerException) : base(message, innerException) + { + } + + public FileMoveException(string source, string destination, Exception ex) + : this($"Exception moving file from {source} to {destination}.", ex) + { + } + + protected FileMoveException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs index a45fe10d3..2ce8b8f0c 100644 --- a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs +++ b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs @@ -34,14 +34,14 @@ public static async Task SetDataStreams( IFileSystem fileSystem = null, string temporaryStoragePath = "") { - Guard.Against.Null(dicomFile, nameof(dicomFile)); - Guard.Against.Null(dicomJson, nameof(dicomJson)); // allow empty here + Guard.Against.Null(dicomFile); + Guard.Against.Null(dicomJson); // allow empty here switch (storageLocation) { case TemporaryDataStorageLocation.Disk: - Guard.Against.Null(fileSystem, nameof(fileSystem)); - Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); + Guard.Against.Null(fileSystem); + Guard.Against.NullOrWhiteSpace(temporaryStoragePath); var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{fileSystem.Path.GetRandomFileName()}"); dicomFileStorageMetadata.File.Data = fileSystem.File.Create(tempFile); @@ -80,13 +80,13 @@ private static async Task SetTextStream( IFileSystem fileSystem = null, string temporaryStoragePath = "") { - Guard.Against.Null(message, nameof(message)); // allow empty here + Guard.Against.Null(message); // allow empty here switch (storageLocation) { case TemporaryDataStorageLocation.Disk: - Guard.Against.Null(fileSystem, nameof(fileSystem)); - Guard.Against.NullOrWhiteSpace(temporaryStoragePath, nameof(temporaryStoragePath)); + Guard.Against.Null(fileSystem); + Guard.Against.NullOrWhiteSpace(temporaryStoragePath); var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{fileSystem.Path.GetRandomFileName()}"); var stream = fileSystem.File.Create(tempFile); diff --git a/src/InformaticsGateway/Common/FileUploadException.cs b/src/InformaticsGateway/Common/FileUploadException.cs new file mode 100644 index 000000000..071ae5171 --- /dev/null +++ b/src/InformaticsGateway/Common/FileUploadException.cs @@ -0,0 +1,42 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Runtime.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Common +{ + [Serializable] + public class FileUploadException : Exception + { + public FileUploadException() + { + } + + public FileUploadException(string message) : base(message) + { + } + + public FileUploadException(string message, Exception innerException) : base(message, innerException) + { + } + + protected FileUploadException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/src/InformaticsGateway/Common/PayloadExtensions.cs b/src/InformaticsGateway/Common/PayloadExtensions.cs deleted file mode 100644 index 190a65347..000000000 --- a/src/InformaticsGateway/Common/PayloadExtensions.cs +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Ardalis.GuardClauses; -using Microsoft.Extensions.Logging; -using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Logging; -using Polly; - -namespace Monai.Deploy.InformaticsGateway.Common -{ - internal static class PayloadExtensions - { - public static async Task UpdatePayload(this Payload payload, IEnumerable<TimeSpan> retryDelays, ILogger logger, IInformaticsGatewayRepository<Payload> repository) - { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.NullOrEmpty(retryDelays, nameof(retryDelays)); - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.Null(repository, nameof(repository)); - - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - retryDelays, - (exception, timeSpan, retryCount, context) => - { - logger.ErrorSavingPayload(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - await repository.SaveChangesAsync().ConfigureAwait(false); - logger.PayloadSaved(payload.Id); - }) - .ConfigureAwait(false); - } - - public static async Task AddPayaloadToDatabase(this Payload payload, IEnumerable<TimeSpan> retryDelays, ILogger logger, IInformaticsGatewayRepository<Payload> repository) - { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.NullOrEmpty(retryDelays, nameof(retryDelays)); - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.Null(repository, nameof(repository)); - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - retryDelays, - (exception, timeSpan, retryCount, context) => - { - logger.ErrorAddingPayload(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - await repository.AddAsync(payload).ConfigureAwait(false); - await repository.SaveChangesAsync().ConfigureAwait(false); - logger.PayloadAdded(payload.Id); - }) - .ConfigureAwait(false); - } - - public static async Task DeletePayload(this Payload payload, IEnumerable<TimeSpan> retryDelays, ILogger logger, IInformaticsGatewayRepository<Payload> repository) - { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.NullOrEmpty(retryDelays, nameof(retryDelays)); - Guard.Against.Null(logger, nameof(logger)); - Guard.Against.Null(repository, nameof(repository)); - - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - retryDelays, - (exception, timeSpan, retryCount, context) => - { - logger.ErrorDeletingPayload(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - repository.Remove(payload); - await repository.SaveChangesAsync().ConfigureAwait(false); - logger.PayloadDeleted(payload.Id); - }) - .ConfigureAwait(false); - } - } -} diff --git a/src/InformaticsGateway/Logging/FoDicomLogManager.cs b/src/InformaticsGateway/Logging/FoDicomLogManager.cs index b30af764a..4a5fea845 100644 --- a/src/InformaticsGateway/Logging/FoDicomLogManager.cs +++ b/src/InformaticsGateway/Logging/FoDicomLogManager.cs @@ -32,7 +32,7 @@ public FoDicomLogManager(ILoggerFactory loggerFactory) protected override Logger GetLoggerImpl(string name) { - Guard.Against.NullOrWhiteSpace(name, nameof(name)); + Guard.Against.NullOrWhiteSpace(name); return new MicrosoftLoggerAdapter(_loggerFactory.CreateLogger(name)); } diff --git a/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs b/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs index 68ab07fab..ec28a1a8d 100644 --- a/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs +++ b/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs @@ -21,28 +21,6 @@ namespace Monai.Deploy.InformaticsGateway.Logging { public static partial class Log { - [LoggerMessage(EventId = 2000, Level = LogLevel.Error, Message = "Error saving inference request. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] - public static partial void ErrorSavingInferenceRequest(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); - [LoggerMessage(EventId = 2001, Level = LogLevel.Debug, Message = "Inference request saved.")] - public static partial void InferenceRequestSaved(this ILogger logger); - - [LoggerMessage(EventId = 2002, Level = LogLevel.Warning, Message = "Exceeded maximum retries.")] - public static partial void InferenceRequestUpdateExceededMaximumRetries(this ILogger logger); - - [LoggerMessage(EventId = 2003, Level = LogLevel.Information, Message = "Will retry later.")] - public static partial void InferenceRequestUpdateRetryLater(this ILogger logger); - - [LoggerMessage(EventId = 2004, Level = LogLevel.Debug, Message = "Updating request {transactionId} to InProgress.")] - public static partial void InferenceRequestSetToInProgress(this ILogger logger, string transactionId); - - [LoggerMessage(EventId = 2005, Level = LogLevel.Debug, Message = "Updating inference request.")] - public static partial void InferenceRequestUpdateState(this ILogger logger); - - [LoggerMessage(EventId = 2006, Level = LogLevel.Information, Message = "Inference request updated.")] - public static partial void InferenceRequestUpdated(this ILogger logger); - - [LoggerMessage(EventId = 2007, Level = LogLevel.Error, Message = "Error while updating inference request. Waiting {timespan} before next retry. Retry attempt {retryCount}...")] - public static partial void InferenceRequestUpdateError(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); } } diff --git a/src/InformaticsGateway/Logging/Log.2100.StorageInfoWrapperRepository.cs b/src/InformaticsGateway/Logging/Log.2100.StorageInfoWrapperRepository.cs deleted file mode 100644 index 2161368fd..000000000 --- a/src/InformaticsGateway/Logging/Log.2100.StorageInfoWrapperRepository.cs +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using Microsoft.Extensions.Logging; - -namespace Monai.Deploy.InformaticsGateway.Logging -{ - public static partial class Log - { - [LoggerMessage(EventId = 2100, Level = LogLevel.Error, Message = "Error saving file storage object. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] - public static partial void ErrorSavingFileStorageMetadata(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); - - [LoggerMessage(EventId = 2101, Level = LogLevel.Debug, Message = "Storage metadata saved to the database.")] - public static partial void StorageMetadataSaved(this ILogger logger); - - [LoggerMessage(EventId = 2102, Level = LogLevel.Error, Message = "Error deleting objects that are pending upload. Waiting {timeSpan} before next retry. Retry attempt {retryCount}.")] - public static partial void ErrorDeletingPendingUploads(this ILogger logger, TimeSpan timespan, int retryCount, Exception ex); - } -} diff --git a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs index c0891be6f..ea27adfe0 100644 --- a/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs +++ b/src/InformaticsGateway/Logging/Log.3000.PayloadAssembler.cs @@ -24,9 +24,6 @@ public static partial class Log [LoggerMessage(EventId = 3000, Level = LogLevel.Information, Message = "[Startup] Removing payloads from database.")] public static partial void RemovingPendingPayloads(this ILogger logger); - [LoggerMessage(EventId = 3001, Level = LogLevel.Information, Message = "[Startup] Payload {payloadId} removed from database.")] - public static partial void PendingPayloadsRemoved(this ILogger logger, Guid payloadId); - [LoggerMessage(EventId = 3002, Level = LogLevel.Information, Message = "[Startup] {count} payloads restored from database.")] public static partial void TotalNumberOfPayloadsRemoved(this ILogger logger, int count); @@ -34,7 +31,7 @@ public static partial class Log public static partial void FileAddedToBucket(this ILogger logger, string key, int count); [LoggerMessage(EventId = 3004, Level = LogLevel.Trace, Message = "Number of incomplete payloads waiting for processing: {count}.")] - public static partial void BucketActive(this ILogger logger, int count); + public static partial void BucketsActive(this ILogger logger, int count); [LoggerMessage(EventId = 3005, Level = LogLevel.Trace, Message = "Checking elapsed time for bucket: {key}.")] public static partial void BucketElapsedTime(this ILogger logger, string key); diff --git a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs index 4e04f8743..316e941bd 100644 --- a/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs +++ b/src/InformaticsGateway/Logging/Log.4000.ObjectUploadService.cs @@ -27,7 +27,7 @@ public static partial class Log [LoggerMessage(EventId = 4001, Level = LogLevel.Debug, Message = "Upload statistics: {threads} threads, {seconds} seconds.")] public static partial void UploadStats(this ILogger logger, int threads, double seconds); - [LoggerMessage(EventId = 4002, Level = LogLevel.Information, Message = "Uploading file to temporary store at {filePath}.")] + [LoggerMessage(EventId = 4002, Level = LogLevel.Debug, Message = "Uploading file to temporary store at {filePath}.")] public static partial void UploadingFileToTemporaryStore(this ILogger logger, string filePath); [LoggerMessage(EventId = 4003, Level = LogLevel.Information, Message = "Instance queued for upload {identifier}. Items in queue {count} using memory {memoryUsageKb}KB.")] @@ -47,5 +47,11 @@ public static partial class Log [LoggerMessage(EventId = 4008, Level = LogLevel.Error, Message = "Unknown error occurred while uploading.")] public static partial void ErrorUploading(this ILogger logger, Exception ex); + + [LoggerMessage(EventId = 4009, Level = LogLevel.Error, Message = "Failed to verify file existence {path}.")] + public static partial void FailedToVerifyFileExistence(this ILogger logger, string path, Exception ex); + + [LoggerMessage(EventId = 4010, Level = LogLevel.Debug, Message = "File {path} exists={exists}.")] + public static partial void VerifyFileExists(this ILogger logger, string path, bool exists); } } diff --git a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs index 5cb9aaa3f..b37c56fa7 100644 --- a/src/InformaticsGateway/Logging/Log.700.PayloadService.cs +++ b/src/InformaticsGateway/Logging/Log.700.PayloadService.cs @@ -83,8 +83,8 @@ public static partial class Log [LoggerMessage(EventId = 722, Level = LogLevel.Debug, Message = "Copy files statistics: {threads} threads, {seconds} seconds.")] public static partial void CopyStats(this ILogger logger, int threads, double seconds); - [LoggerMessage(EventId = 724, Level = LogLevel.Debug, Message = "Moving temporary file {identifier} to payload {payloadId} directory on storage service.")] - public static partial void MovingFileToPayloadDirectory(this ILogger logger, Guid payloadId, string identifier); + [LoggerMessage(EventId = 724, Level = LogLevel.Debug, Message = "Moving temporary file to payload {payloadId} directory {destination} on storage service.")] + public static partial void MovingFileToPayloadDirectory(this ILogger logger, Guid payloadId, string destination); [LoggerMessage(EventId = 727, Level = LogLevel.Debug, Message = "Deleting temporary file {identifier} from temporary bucket {bucket} at {remotePath}.")] public static partial void DeletingFileFromTemporaryBbucket(this ILogger logger, string bucket, string identifier, string remotePath); @@ -106,5 +106,23 @@ public static partial class Log [LoggerMessage(EventId = 733, Level = LogLevel.Debug, Message = "Storage metadata object {identifier} deleted.")] public static partial void StorageMetadataObjectDeleted(this ILogger logger, string identifier); + + [LoggerMessage(EventId = 734, Level = LogLevel.Error, Message = "File {destinationPath} in payload {payloadId} moved but cannot be found on the storage service.")] + public static partial void FileMovedVerificationFailure(this ILogger logger, Guid payloadId, string destinationPath); + + [LoggerMessage(EventId = 735, Level = LogLevel.Trace, Message = "File already moved to {destinationPath} in payload {payloadId}.")] + public static partial void AlreadyMoved(this ILogger logger, Guid payloadId, string destinationPath); + + [LoggerMessage(EventId = 736, Level = LogLevel.Debug, Message = "Failed to delete temporary file {identifier} from temporary bucket {bucket} at {remotePath}.")] + public static partial void ErrorDeletingFileAfterMoveComplete(this ILogger logger, string bucket, string identifier, string remotePath); + + [LoggerMessage(EventId = 737, Level = LogLevel.Trace, Message = "File found on storage service {bucket}: {filePath}.")] + public static partial void FileFounddOnStorageService(this ILogger logger, string bucket, string filePath); + + [LoggerMessage(EventId = 738, Level = LogLevel.Error, Message = "Error listing files on storage service.")] + public static partial void ErrorListingFilesOnStorageService(this ILogger logger, Exception ex); + + [LoggerMessage(EventId = 739, Level = LogLevel.Trace, Message = "Total number of files found on storage service {bucket}: {count}.")] + public static partial void FilesFounddOnStorageService(this ILogger logger, string bucket, int count); } } diff --git a/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs b/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs index af25238cc..419060787 100644 --- a/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs +++ b/src/InformaticsGateway/Logging/Log.800.Hl7Service.cs @@ -65,5 +65,8 @@ public static partial class Log [LoggerMessage(EventId = 814, Level = LogLevel.Warning, Message = "HL7 service paused due to insufficient storage space. Available storage space: {availableFreeSpace:D}.")] public static partial void Hl7DisconnectedDueToLowStorageSpace(this ILogger logger, long availableFreeSpace); + + [LoggerMessage(EventId = 815, Level = LogLevel.Information, Message = "HL7 client {clientId} disconnected.")] + public static partial void Hl7ClientRemoved(this ILogger logger, Guid clientId); } } diff --git a/src/InformaticsGateway/Logging/MicrosoftLoggerAdapter.cs b/src/InformaticsGateway/Logging/MicrosoftLoggerAdapter.cs index 569afc6eb..886bca461 100644 --- a/src/InformaticsGateway/Logging/MicrosoftLoggerAdapter.cs +++ b/src/InformaticsGateway/Logging/MicrosoftLoggerAdapter.cs @@ -33,7 +33,7 @@ public class MicrosoftLoggerAdapter : Logger public override void Log(FellowOakDicom.Log.LogLevel level, string msg, params object[] args) { - Guard.Against.NullOrWhiteSpace(msg, nameof(msg)); + Guard.Against.NullOrWhiteSpace(msg); _logger.Log(level.ToMicrosoftExtensionsLogLevel(), msg, args); } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index fc47c883b..3557200d6 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -25,6 +25,7 @@ <EnforceCodeStyleInBuild>True</EnforceCodeStyleInBuild> <LangVersion>latest</LangVersion> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -38,17 +39,17 @@ <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="GitVersion.MsBuild" Version="5.10.3"> + <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.10" /> + <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0020" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.16" /> <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 271255416..3f5095a56 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -29,6 +29,8 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.InformaticsGateway.Services.Connectors; @@ -83,6 +85,7 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => config .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false) + .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("DOTNET_TEST")}.json", optional: true, reloadOnChange: false) .AddEnvironmentVariables(); }) .ConfigureLogging((builderContext, builder) => @@ -110,8 +113,6 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => services.AddTransient<IStreamsWriter, StreamsWriter>(); services.AddTransient<IApplicationEntityHandler, ApplicationEntityHandler>(); - services.AddScoped<IStorageMetadataWrapperRepository, StorageMetadataWrapperRepository>(); - services.AddScoped<IInferenceRequestRepository, InferenceRequestRepository>(); services.AddScoped<IPayloadMoveActionHandler, PayloadMoveActionHandler>(); services.AddScoped<IPayloadNotificationActionHandler, PayloadNotificationActionHandler>(); diff --git a/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs b/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs deleted file mode 100644 index a44cfdba7..000000000 --- a/src/InformaticsGateway/Repositories/InferenceRequestRepository.cs +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * Copyright 2019-2021 NVIDIA Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Threading; -using System.Threading.Tasks; -using Ardalis.GuardClauses; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Api.Rest; -using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Logging; -using Polly; - -namespace Monai.Deploy.InformaticsGateway.Repositories -{ - public class InferenceRequestRepository : IInferenceRequestRepository - { - private readonly ILogger<InferenceRequestRepository> _logger; - private readonly IInformaticsGatewayRepository<InferenceRequest> _inferenceRequestRepository; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - - public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; - - public InferenceRequestRepository( - ILogger<InferenceRequestRepository> logger, - IInformaticsGatewayRepository<InferenceRequest> inferenceRequestRepository, - IOptions<InformaticsGatewayConfiguration> options) - { - _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _inferenceRequestRepository = inferenceRequestRepository ?? throw new ArgumentNullException(nameof(inferenceRequestRepository)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - } - - public async Task Add(InferenceRequest inferenceRequest) - { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _options.Value.Database.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.ErrorSavingInferenceRequest(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - await _inferenceRequestRepository.AddAsync(inferenceRequest).ConfigureAwait(false); - await _inferenceRequestRepository.SaveChangesAsync().ConfigureAwait(false); - _inferenceRequestRepository.Detach(inferenceRequest); - _logger.InferenceRequestSaved(); - }) - .ConfigureAwait(false); - } - - public async Task Update(InferenceRequest inferenceRequest, InferenceRequestStatus status) - { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); - - if (status == InferenceRequestStatus.Success) - { - inferenceRequest.State = InferenceRequestState.Completed; - inferenceRequest.Status = InferenceRequestStatus.Success; - } - else - { - if (++inferenceRequest.TryCount > _options.Value.Database.Retries.DelaysMilliseconds.Length) - { - _logger.InferenceRequestUpdateExceededMaximumRetries(); - inferenceRequest.State = InferenceRequestState.Completed; - inferenceRequest.Status = InferenceRequestStatus.Fail; - } - else - { - _logger.InferenceRequestUpdateRetryLater(); - inferenceRequest.State = InferenceRequestState.Queued; - } - } - - await Save(inferenceRequest).ConfigureAwait(false); - } - - public async Task<InferenceRequest> Take(CancellationToken cancellationToken) - { - while (!cancellationToken.IsCancellationRequested) - { - var inferenceRequest = _inferenceRequestRepository.FirstOrDefault(p => p.State == InferenceRequestState.Queued); - - if (inferenceRequest is not null) - { - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", inferenceRequest.TransactionId } }); - inferenceRequest.State = InferenceRequestState.InProcess; - _logger.InferenceRequestSetToInProgress(inferenceRequest.TransactionId); - await Save(inferenceRequest).ConfigureAwait(false); - return inferenceRequest; - } - await Task.Delay(250, cancellationToken).ConfigureAwait(false); - } - - throw new OperationCanceledException("cancellation requsted"); - } - - public InferenceRequest GetInferenceRequest(string transactionId) - { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - return _inferenceRequestRepository.FirstOrDefault(p => p.TransactionId.Equals(transactionId, StringComparison.OrdinalIgnoreCase)); - } - - public async Task<InferenceRequest> GetInferenceRequest(Guid inferenceRequestId) - { - Guard.Against.NullOrEmpty(inferenceRequestId, nameof(inferenceRequestId)); - return await _inferenceRequestRepository.FindAsync(inferenceRequestId).ConfigureAwait(false); - } - - public bool Exists(string transactionId) - { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - return GetInferenceRequest(transactionId) is not null; - } - - public async Task<InferenceStatusResponse> GetStatus(string transactionId) - { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - - var response = new InferenceStatusResponse(); - var item = GetInferenceRequest(transactionId); - if (item is null) - { - return null; - } - - response.TransactionId = item.TransactionId; - - return await Task.FromResult(response).ConfigureAwait(false); - } - - private async Task Save(InferenceRequest inferenceRequest) - { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _options.Value.Database.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.InferenceRequestUpdateError(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - _logger.InferenceRequestUpdateState(); - if (inferenceRequest.State == InferenceRequestState.Completed) - { - _inferenceRequestRepository.Detach(inferenceRequest); - } - await _inferenceRequestRepository.SaveChangesAsync().ConfigureAwait(false); - _logger.InferenceRequestUpdated(); - }) - .ConfigureAwait(false); - } - } -} diff --git a/src/InformaticsGateway/Repositories/MonaiServiceLocator.cs b/src/InformaticsGateway/Repositories/MonaiServiceLocator.cs index 8e42fa2d7..e94c9eeea 100644 --- a/src/InformaticsGateway/Repositories/MonaiServiceLocator.cs +++ b/src/InformaticsGateway/Repositories/MonaiServiceLocator.cs @@ -49,7 +49,7 @@ public Dictionary<string, ServiceStatus> GetServiceStatus() private IMonaiService GetService(Type type) { - Guard.Against.Null(type, nameof(type)); + Guard.Against.Null(type); return _serviceProvider.GetService(type) as IMonaiService; } diff --git a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs b/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs deleted file mode 100644 index d82523520..000000000 --- a/src/InformaticsGateway/Repositories/StorageMetadataWrapperRepository.cs +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * Copyright 2019-2021 NVIDIA Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Ardalis.GuardClauses; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Api.Rest; -using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Logging; -using Polly; - -namespace Monai.Deploy.InformaticsGateway.Repositories -{ - public class StorageMetadataWrapperRepository : IStorageMetadataWrapperRepository - { - private readonly ILogger<StorageMetadataWrapperRepository> _logger; - private readonly IInformaticsGatewayRepository<StorageMetadataWrapper> _repository; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - - public ServiceStatus Status { get; set; } = ServiceStatus.Unknown; - - public StorageMetadataWrapperRepository( - ILogger<StorageMetadataWrapperRepository> logger, - IInformaticsGatewayRepository<StorageMetadataWrapper> repository, - IOptions<InformaticsGatewayConfiguration> options) - { - _logger = logger ?? throw new ArgumentNullException(nameof(logger)); - _repository = repository ?? throw new ArgumentNullException(nameof(repository)); - _options = options ?? throw new ArgumentNullException(nameof(options)); - } - - public async Task AddAsync(FileStorageMetadata metadata) - { - Guard.Against.Null(metadata, nameof(metadata)); - - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _options.Value.Database.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.ErrorSavingFileStorageMetadata(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - var obj = new StorageMetadataWrapper(metadata); - await _repository.AddAsync(obj).ConfigureAwait(false); - await _repository.SaveChangesAsync().ConfigureAwait(false); - _repository.Detach(obj); - _logger.StorageMetadataSaved(); - }) - .ConfigureAwait(false); - } - - public async Task UpdateAsync(FileStorageMetadata metadata) - { - Guard.Against.Null(metadata, nameof(metadata)); - - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", metadata.CorrelationId }, { "Identity", metadata.Id } }); - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _options.Value.Database.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.ErrorSavingFileStorageMetadata(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - var @object = _repository.FirstOrDefault(p => p.Identity == metadata.Id && p.CorrelationId == metadata.CorrelationId); - - if (@object is null) - { - throw new ArgumentException("Matching wrapper storage object not found"); - } - - @object.Update(metadata); - _repository.Update(@object); - await _repository.SaveChangesAsync().ConfigureAwait(false); - _repository.Detach(@object); - - _logger.StorageMetadataSaved(); - }) - .ConfigureAwait(false); - } - - public async Task AddOrUpdateAsync(FileStorageMetadata metadata) - { - Guard.Against.Null(metadata, nameof(metadata)); - - var existing = GetFileStorageMetdadata(metadata.CorrelationId, metadata.Id); - - if (existing is not null) - { - await UpdateAsync(metadata).ConfigureAwait(false); - } - else - { - await AddAsync(metadata).ConfigureAwait(false); - } - } - - public IList<FileStorageMetadata> GetFileStorageMetdadata(string correlationId) - { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - - return _repository.AsQueryable().Where(p => p.CorrelationId == correlationId) - .Select(p => p.GetObject()) - .ToList(); - } - - public FileStorageMetadata GetFileStorageMetdadata(string correlationId, string identity) - { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(identity, nameof(identity)); - - return _repository.FirstOrDefault(p => p.CorrelationId.Equals(correlationId, StringComparison.Ordinal) && p.Identity.Equals(identity, StringComparison.Ordinal))?.GetObject(); - } - - public async Task<bool> DeleteAsync(string correlationId, string identity) - { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(identity, nameof(identity)); - - var toBeDeleted = _repository.FirstOrDefault(p => p.CorrelationId.Equals(correlationId, StringComparison.Ordinal) && p.Identity.Equals(identity, StringComparison.Ordinal)); - - if (toBeDeleted is not null) - { - _repository.Remove(toBeDeleted); - await _repository.SaveChangesAsync().ConfigureAwait(false); - return true; - } - return false; - } - - public async Task DeletePendingUploadsAsync() - { - await Policy - .Handle<Exception>() - .WaitAndRetryAsync( - _options.Value.Database.Retries.RetryDelays, - (exception, timeSpan, retryCount, context) => - { - _logger.ErrorDeletingPendingUploads(timeSpan, retryCount, exception); - }) - .ExecuteAsync(async () => - { - var toBeDeleted = _repository.AsQueryable().Where(p => !p.IsUploaded); - - if (toBeDeleted.Any()) - { - _repository.RemoveRange(toBeDeleted.ToArray()); - await _repository.SaveChangesAsync().ConfigureAwait(false); - } - }).ConfigureAwait(false); - } - } -} diff --git a/src/InformaticsGateway/Services/Common/ITcpListener.cs b/src/InformaticsGateway/Services/Common/ITcpListener.cs index d3e37bda3..83fac6edb 100644 --- a/src/InformaticsGateway/Services/Common/ITcpListener.cs +++ b/src/InformaticsGateway/Services/Common/ITcpListener.cs @@ -36,7 +36,7 @@ internal class TcpListener : ITcpListener public TcpListener(IPAddress ipAddress, int port) { - Guard.Against.Null(ipAddress, nameof(ipAddress)); + Guard.Against.Null(ipAddress); _tcpListener = new System.Net.Sockets.TcpListener(ipAddress, port); } diff --git a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs index 6a804fbb1..88cf26757 100644 --- a/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs +++ b/src/InformaticsGateway/Services/Connectors/DataRetrievalService.cs @@ -34,11 +34,10 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; using Monai.Deploy.InformaticsGateway.DicomWeb.Client.API; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.InformaticsGateway.Services.Storage; using Polly; @@ -123,12 +122,12 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) InferenceRequest request = null; try { - request = await repository.Take(cancellationToken).ConfigureAwait(false); + request = await repository.TakeAsync(cancellationToken).ConfigureAwait(false); using (_logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", request.TransactionId } })) { _logger.ProcessingInferenceRequest(); await ProcessRequest(request, cancellationToken).ConfigureAwait(false); - await repository.Update(request, InferenceRequestStatus.Success).ConfigureAwait(false); + await repository.UpdateAsync(request, InferenceRequestStatus.Success, cancellationToken).ConfigureAwait(false); _logger.InferenceRequestProcessed(); } } @@ -145,7 +144,7 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) _logger.ErrorProcessingInferenceRequest(request?.TransactionId, ex); if (request != null) { - await repository.Update(request, InferenceRequestStatus.Fail).ConfigureAwait(false); + await repository.UpdateAsync(request, InferenceRequestStatus.Fail, cancellationToken).ConfigureAwait(false); } } } @@ -155,10 +154,10 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) private async Task ProcessRequest(InferenceRequest inferenceRequest, CancellationToken cancellationToken) { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); + Guard.Against.Null(inferenceRequest); var retrievedFiles = new Dictionary<string, FileStorageMetadata>(StringComparer.OrdinalIgnoreCase); - RestoreExistingInstances(inferenceRequest, retrievedFiles, cancellationToken); + await RestoreExistingInstances(inferenceRequest, retrievedFiles, cancellationToken).ConfigureAwait(false); foreach (var source in inferenceRequest.InputResources) { @@ -181,12 +180,12 @@ private async Task ProcessRequest(InferenceRequest inferenceRequest, Cancellatio } } - await NotifyNewInstance(inferenceRequest, retrievedFiles); + await NotifyNewInstance(inferenceRequest, retrievedFiles).ConfigureAwait(false); } private async Task NotifyNewInstance(InferenceRequest inferenceRequest, Dictionary<string, FileStorageMetadata> retrievedFiles) { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); + Guard.Against.Null(inferenceRequest); if (retrievedFiles.IsNullOrEmpty()) { @@ -204,16 +203,16 @@ private async Task NotifyNewInstance(InferenceRequest inferenceRequest, Dictiona } } - private void RestoreExistingInstances(InferenceRequest inferenceRequest, Dictionary<string, FileStorageMetadata> retrievedInstances, CancellationToken cancellationToken) + private async Task RestoreExistingInstances(InferenceRequest inferenceRequest, Dictionary<string, FileStorageMetadata> retrievedInstances, CancellationToken cancellationToken) { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - Guard.Against.Null(retrievedInstances, nameof(retrievedInstances)); + Guard.Against.Null(inferenceRequest); + Guard.Against.Null(retrievedInstances); using var scope = _serviceScopeFactory.CreateScope(); _logger.RestoringRetrievedFiles(); - var repository = _rootScope.ServiceProvider.GetService<IStorageMetadataWrapperRepository>() ?? throw new ServiceNotFoundException(nameof(IStorageMetadataWrapperRepository)); - var files = repository.GetFileStorageMetdadata(inferenceRequest.TransactionId); + var repository = _rootScope.ServiceProvider.GetService<IStorageMetadataRepository>() ?? throw new ServiceNotFoundException(nameof(IStorageMetadataRepository)); + var files = await repository.GetFileStorageMetdadataAsync(inferenceRequest.TransactionId, cancellationToken).ConfigureAwait(false); foreach (var file in files) { @@ -237,8 +236,8 @@ private void RestoreExistingInstances(InferenceRequest inferenceRequest, Diction private async Task RetrieveViaFhir(InferenceRequest inferenceRequest, RequestInputDataResource source, Dictionary<string, FileStorageMetadata> retrievedResources, CancellationToken cancellationToken) { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - Guard.Against.Null(retrievedResources, nameof(retrievedResources)); + Guard.Against.Null(inferenceRequest); + Guard.Against.Null(retrievedResources); foreach (var input in inferenceRequest.InputMetadata.Inputs) { @@ -256,10 +255,10 @@ private async Task RetrieveViaFhir(InferenceRequest inferenceRequest, RequestInp private async Task RetrieveFhirResources(string transactionId, InferenceRequestDetails requestDetails, RequestInputDataResource source, Dictionary<string, FileStorageMetadata> retrievedResources, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(requestDetails, nameof(requestDetails)); - Guard.Against.Null(source, nameof(source)); - Guard.Against.Null(retrievedResources, nameof(retrievedResources)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(requestDetails); + Guard.Against.Null(source); + Guard.Against.Null(retrievedResources); var pendingResources = new Queue<FhirResource>(requestDetails.Resources.Where(p => !p.IsRetrieved)); @@ -305,12 +304,12 @@ private async Task RetrieveFhirResources(string transactionId, InferenceRequestD private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient httpClient, FhirResource resource, RequestInputDataResource source, Dictionary<string, FileStorageMetadata> retrievedResources, FhirStorageFormat fhirFormat, string acceptHeader, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(httpClient, nameof(httpClient)); - Guard.Against.Null(resource, nameof(resource)); - Guard.Against.Null(source, nameof(source)); - Guard.Against.Null(retrievedResources, nameof(retrievedResources)); - Guard.Against.NullOrWhiteSpace(acceptHeader, nameof(acceptHeader)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(httpClient); + Guard.Against.Null(resource); + Guard.Against.Null(source); + Guard.Against.Null(retrievedResources); + Guard.Against.NullOrWhiteSpace(acceptHeader); var id = $"{resource.Type}/{resource.Id}"; if (retrievedResources.ContainsKey(id)) @@ -343,7 +342,7 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h } var fhirFile = new FhirFileStorageMetadata(transactionId, resource.Type, resource.Id, fhirFormat); - await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath); + await fhirFile.SetDataStream(json, _options.Value.Storage.TemporaryDataStorage, _fileSystem, _options.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); retrievedResources.Add(fhirFile.Id, fhirFile); return true; } @@ -356,8 +355,8 @@ private async Task<bool> RetrieveFhirResource(string transactionId, HttpClient h private async Task RetrieveViaDicomWeb(InferenceRequest inferenceRequest, RequestInputDataResource source, Dictionary<string, FileStorageMetadata> retrievedInstance, CancellationToken cancellationToken) { - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); + Guard.Against.Null(inferenceRequest); + Guard.Against.Null(retrievedInstance); var authenticationHeaderValue = AuthenticationHeaderValueExtensions.ConvertFrom(source.ConnectionDetails.AuthType, source.ConnectionDetails.AuthId); @@ -403,12 +402,12 @@ private async Task RetrieveViaDicomWeb(InferenceRequest inferenceRequest, Reques private async Task QueryStudies(string transactionId, DicomWebClient dicomWebClient, InferenceRequest inferenceRequest, Dictionary<string, FileStorageMetadata> retrievedInstance, string dicomTag, string queryValue, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(dicomWebClient, nameof(dicomWebClient)); - Guard.Against.Null(inferenceRequest, nameof(inferenceRequest)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); - Guard.Against.NullOrWhiteSpace(dicomTag, nameof(dicomTag)); - Guard.Against.NullOrWhiteSpace(queryValue, nameof(queryValue)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(dicomWebClient); + Guard.Against.Null(inferenceRequest); + Guard.Against.Null(retrievedInstance); + Guard.Against.NullOrWhiteSpace(dicomTag); + Guard.Against.NullOrWhiteSpace(queryValue); _logger.PerformQido(dicomTag, queryValue); var queryParams = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase) @@ -446,9 +445,9 @@ private async Task QueryStudies(string transactionId, DicomWebClient dicomWebCli private async Task RetrieveStudies(string transactionId, IDicomWebClient dicomWebClient, IList<RequestedStudy> studies, Dictionary<string, FileStorageMetadata> retrievedInstance, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(studies, nameof(studies)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(studies); + Guard.Against.Null(retrievedInstance); foreach (var study in studies) { @@ -471,9 +470,9 @@ private async Task RetrieveStudies(string transactionId, IDicomWebClient dicomWe private async Task RetrieveSeries(string transactionId, IDicomWebClient dicomWebClient, RequestedStudy study, Dictionary<string, FileStorageMetadata> retrievedInstance, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(study, nameof(study)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(study); + Guard.Against.Null(retrievedInstance); foreach (var series in study.Series) { @@ -496,10 +495,10 @@ private async Task RetrieveSeries(string transactionId, IDicomWebClient dicomWeb private async Task RetrieveInstances(string transactionId, IDicomWebClient dicomWebClient, string studyInstanceUid, RequestedSeries series, Dictionary<string, FileStorageMetadata> retrievedInstance, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.NullOrWhiteSpace(studyInstanceUid, nameof(studyInstanceUid)); - Guard.Against.Null(series, nameof(series)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.NullOrWhiteSpace(studyInstanceUid); + Guard.Against.Null(series); + Guard.Against.Null(retrievedInstance); var count = retrievedInstance.Count; foreach (var instance in series.Instances) @@ -531,9 +530,9 @@ private async Task RetrieveInstances(string transactionId, IDicomWebClient dicom private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> files, Dictionary<string, FileStorageMetadata> retrievedInstance, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); - Guard.Against.Null(files, nameof(files)); - Guard.Against.Null(retrievedInstance, nameof(retrievedInstance)); + Guard.Against.NullOrWhiteSpace(transactionId); + Guard.Against.Null(files); + Guard.Against.Null(retrievedInstance); var count = retrievedInstance.Count; await foreach (var file in files) @@ -557,10 +556,10 @@ private async Task SaveFiles(string transactionId, IAsyncEnumerable<DicomFile> f } } - private DicomFileStorageMetadata SaveFile(string transactionId, DicomFile file, StudySerieSopUids uids) + private static DicomFileStorageMetadata SaveFile(string transactionId, DicomFile file, StudySerieSopUids uids) { - Guard.Against.Null(transactionId, nameof(transactionId)); - Guard.Against.Null(file, nameof(file)); + Guard.Against.Null(transactionId); + Guard.Against.Null(file); return new DicomFileStorageMetadata(transactionId, uids.Identifier, uids.StudyInstanceUid, uids.SeriesInstanceUid, uids.SopInstanceUid) { diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index 27bbdf55f..2f7ec61e5 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -17,7 +17,6 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; -using System.Linq; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; @@ -27,9 +26,8 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Connectors @@ -46,6 +44,7 @@ internal sealed partial class PayloadAssembler : IPayloadAssembler, IDisposable private readonly IServiceScopeFactory _serviceScopeFactory; private readonly ConcurrentDictionary<string, AsyncLazy<Payload>> _payloads; + private readonly Task _intializedTask; private readonly BlockingCollection<Payload> _workItems; private readonly System.Timers.Timer _timer; @@ -61,7 +60,7 @@ public PayloadAssembler( _workItems = new BlockingCollection<Payload>(); _payloads = new ConcurrentDictionary<string, AsyncLazy<Payload>>(); - RemovePendingPayloads(); + _intializedTask = RemovePendingPayloads(); _timer = new System.Timers.Timer(1000) { @@ -71,20 +70,13 @@ public PayloadAssembler( _timer.Enabled = true; } - private void RemovePendingPayloads() + private async Task RemovePendingPayloads() { _logger.RemovingPendingPayloads(); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<Payload>>(); + var repository = scope.ServiceProvider.GetRequiredService<IPayloadRepository>(); - var payloads = repository.AsQueryable().Where(p => p.State == Payload.PayloadState.Created); - var removed = 0; - - foreach (var payload in payloads) - { - payload.DeletePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).Wait(); - _logger.PendingPayloadsRemoved(payload.Id); - } + var removed = await repository.RemovePendingPayloadsAsync().ConfigureAwait(false); _logger.TotalNumberOfPayloadsRemoved(removed); } @@ -104,7 +96,9 @@ private void RemovePendingPayloads() /// <param name="timeout">Number of seconds the bucket shall wait before sending the payload to be processed. Note: timeout cannot be modified once the bucket is created.</param> public async Task Queue(string bucket, FileStorageMetadata file, uint timeout) { - Guard.Against.Null(file, nameof(file)); + Guard.Against.Null(file); + + await _intializedTask.ConfigureAwait(false); using var _ = _logger.BeginScope(new LoggingDataDictionary<string, object>() { { "CorrelationId", file.CorrelationId } }); @@ -128,8 +122,9 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { try { + await _intializedTask.ConfigureAwait(false); _timer.Enabled = false; - _logger.BucketActive(_payloads.Count); + _logger.BucketsActive(_payloads.Count); foreach (var key in _payloads.Keys) { _logger.BucketElapsedTime(key); @@ -137,7 +132,7 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", payload.CorrelationId } }); if (payload.HasTimedOut) { - if (payload.ContainerUploadFailures()) + if (payload.AnyUploadFailures()) { _payloads.TryRemove(key, out _); _logger.PayloadRemovedWithFailureUploads(key); @@ -176,8 +171,9 @@ private async Task QueueBucketForNotification(string key, Payload payload) { payload.State = Payload.PayloadState.Move; var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<Payload>>(); - await payload.UpdatePayload(_options.Value.Database.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + var repository = scope.ServiceProvider.GetRequiredService<IPayloadRepository>(); + await repository.UpdateAsync(payload).ConfigureAwait(false); + _logger.PayloadSaved(payload.PayloadId); _workItems.Add(payload); _logger.BucketReady(key, payload.Count); } @@ -185,7 +181,7 @@ private async Task QueueBucketForNotification(string key, Payload payload) { if (_payloads.TryAdd(key, new AsyncLazy<Payload>(payload))) { - _logger.BucketError(key, payload.Id, ex); + _logger.BucketError(key, payload.PayloadId, ex); } else { @@ -199,9 +195,9 @@ private async Task<Payload> CreateOrGetPayload(string key, string correationId, return await _payloads.GetOrAdd(key, x => new AsyncLazy<Payload>(async () => { var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<Payload>>(); + var repository = scope.ServiceProvider.GetRequiredService<IPayloadRepository>(); var newPayload = new Payload(key, correationId, timeout); - await newPayload.AddPayaloadToDatabase(_options.Value.Database.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + await repository.AddAsync(newPayload).ConfigureAwait(false); _logger.BucketCreated(key, timeout); return newPayload; })); diff --git a/src/InformaticsGateway/Services/Connectors/PayloadExtensions.cs b/src/InformaticsGateway/Services/Connectors/PayloadExtensions.cs index d0a4678b4..921d0f1a8 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadExtensions.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadExtensions.cs @@ -28,7 +28,7 @@ public static bool IsUploadCompleted(this Payload payload) return payload.Files.All(p => p.IsUploaded); } - public static bool ContainerUploadFailures(this Payload payload) + public static bool AnyUploadFailures(this Payload payload) { return payload.Files.Any(p => p.IsUploadFailed); } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs index 71954c55e..fd08201c3 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs @@ -15,19 +15,21 @@ */ using System; +using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow; using Ardalis.GuardClauses; +using DotNext.Collections.Generic; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.Storage.API; @@ -62,9 +64,9 @@ public PayloadMoveActionHandler(IServiceScopeFactory serviceScopeFactory, public async Task MoveFilesAsync(Payload payload, ActionBlock<Payload> moveQueue, ActionBlock<Payload> notificationQueue, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.Null(moveQueue, nameof(moveQueue)); - Guard.Against.Null(notificationQueue, nameof(notificationQueue)); + Guard.Against.Null(payload); + Guard.Against.Null(moveQueue); + Guard.Against.Null(notificationQueue); if (payload.State != Payload.PayloadState.Move) { @@ -75,12 +77,12 @@ public async Task MoveFilesAsync(Payload payload, ActionBlock<Payload> moveQueue try { await Move(payload, cancellationToken).ConfigureAwait(false); - await NotifyIfCompleted(payload, notificationQueue).ConfigureAwait(false); + await NotifyIfCompleted(payload, notificationQueue, cancellationToken).ConfigureAwait(false); } catch (Exception ex) { payload.RetryCount++; - var action = await UpdatePayloadState(payload, ex).ConfigureAwait(false); + var action = await UpdatePayloadState(payload, ex, cancellationToken).ConfigureAwait(false); if (action == PayloadAction.Updated) { await moveQueue.Post(payload, _options.Value.Storage.Retries.RetryDelays.ElementAt(payload.RetryCount - 1)).ConfigureAwait(false); @@ -93,10 +95,10 @@ public async Task MoveFilesAsync(Payload payload, ActionBlock<Payload> moveQueue } } - private async Task NotifyIfCompleted(Payload payload, ActionBlock<Payload> notificationQueue) + private async Task NotifyIfCompleted(Payload payload, ActionBlock<Payload> notificationQueue, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.Null(notificationQueue, nameof(notificationQueue)); + Guard.Against.Null(payload); + Guard.Against.Null(notificationQueue); if (payload.IsMoveCompleted()) { @@ -104,11 +106,12 @@ private async Task NotifyIfCompleted(Payload payload, ActionBlock<Payload> notif payload.ResetRetry(); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IInformaticsGatewayRepository<Payload>>() ?? throw new ServiceNotFoundException(nameof(IInformaticsGatewayRepository<Payload>)); - await payload.UpdatePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + var repository = scope.ServiceProvider.GetService<IPayloadRepository>() ?? throw new ServiceNotFoundException(nameof(IPayloadRepository)); + await repository.UpdateAsync(payload, cancellationToken).ConfigureAwait(false); + _logger.PayloadSaved(payload.PayloadId); notificationQueue.Post(payload); - _logger.PayloadReadyToBePublished(payload.Id); + _logger.PayloadReadyToBePublished(payload.PayloadId); } else // we should never hit this else block. { @@ -118,9 +121,9 @@ private async Task NotifyIfCompleted(Payload payload, ActionBlock<Payload> notif private async Task Move(Payload payload, CancellationToken cancellationToken) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); - _logger.MovingFIlesInPayload(payload.Id, _options.Value.Storage.StorageServiceBucketName); + _logger.MovingFIlesInPayload(payload.PayloadId, _options.Value.Storage.StorageServiceBucketName); var options = new ParallelOptions { @@ -128,66 +131,130 @@ private async Task Move(Payload payload, CancellationToken cancellationToken) MaxDegreeOfParallelism = _options.Value.Storage.ConcurrentUploads }; + var exceptions = new List<Exception>(); await Parallel.ForEachAsync(payload.Files, options, async (file, cancellationToke) => { - switch (file) + try { - case DicomFileStorageMetadata dicom: - if (!string.IsNullOrWhiteSpace(dicom.JsonFile.TemporaryPath)) - { - await MoveFile(payload.Id, dicom.Id, dicom.JsonFile, cancellationToken).ConfigureAwait(false); - } - break; - } + switch (file) + { + case DicomFileStorageMetadata dicom: + if (!string.IsNullOrWhiteSpace(dicom.JsonFile.TemporaryPath)) + { + await MoveFile(payload.PayloadId, dicom.Id, dicom.JsonFile, cancellationToken).ConfigureAwait(false); + } + break; + } - await MoveFile(payload.Id, file.Id, file.File, cancellationToken).ConfigureAwait(false); + await MoveFile(payload.PayloadId, file.Id, file.File, cancellationToken).ConfigureAwait(false); + } + catch (Exception ex) + { + exceptions.Add(ex); + } }).ConfigureAwait(false); + + if (exceptions.Any()) + { + throw new AggregateException(exceptions); + } } private async Task MoveFile(Guid payloadId, string identity, StorageObjectMetadata file, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(identity, nameof(identity)); - Guard.Against.Null(file, nameof(file)); + Guard.Against.NullOrWhiteSpace(identity); + Guard.Against.Null(file); + + if (file.IsMoveCompleted) + { + _logger.AlreadyMoved(payloadId, file.UploadPath); + return; + } - _logger.MovingFileToPayloadDirectory(payloadId, identity); - await _storageService.CopyObjectAsync( - file.TemporaryBucketName, - file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), - _options.Value.Storage.StorageServiceBucketName, - file.GetPayloadPath(payloadId), - cancellationToken).ConfigureAwait(false); + _logger.MovingFileToPayloadDirectory(payloadId, file.UploadPath); - _logger.DeletingFileFromTemporaryBbucket(file.TemporaryBucketName, identity, file.TemporaryPath); - await _storageService.RemoveObjectAsync(file.TemporaryBucketName, file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), cancellationToken); + try + { + await _storageService.CopyObjectAsync( + file.TemporaryBucketName, + file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), + _options.Value.Storage.StorageServiceBucketName, + file.GetPayloadPath(payloadId), + cancellationToken).ConfigureAwait(false); + + var results = await _storageService.VerifyObjectExistsAsync(_options.Value.Storage.StorageServiceBucketName, new System.Collections.Generic.KeyValuePair<string, string>(file.UploadPath, file.GetPayloadPath(payloadId))).ConfigureAwait(false); + + if (!results.Key.Equals(file.UploadPath, StringComparison.OrdinalIgnoreCase)) + { + _logger.FileMovedVerificationFailure(payloadId, file.UploadPath); + throw new PayloadNotifyException(PayloadNotifyException.FailureReason.MoveFailure); + } + } + catch (Exception ex) + { + await LogFilesInMinIo(file.TemporaryBucketName, cancellationToken).ConfigureAwait(false); + throw new FileMoveException(file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), file.UploadPath, ex); + } - file.SetMoved(_options.Value.Storage.StorageServiceBucketName); + try + { + _logger.DeletingFileFromTemporaryBbucket(file.TemporaryBucketName, identity, file.TemporaryPath); + await _storageService.RemoveObjectAsync(file.TemporaryBucketName, file.GetTempStoragPath(_options.Value.Storage.RemoteTemporaryStoragePath), cancellationToken).ConfigureAwait(false); + } + catch (Exception) + { + _logger.ErrorDeletingFileAfterMoveComplete(file.TemporaryBucketName, identity, file.TemporaryPath); + } + finally + { + file.SetMoved(_options.Value.Storage.StorageServiceBucketName); + } + } + + private async Task LogFilesInMinIo(string bucketName, CancellationToken cancellationToken) + { + try + { + var listingResults = await _storageService.ListObjectsAsync(bucketName, recursive: true, cancellationToken: cancellationToken).ConfigureAwait(false); + _logger.FilesFounddOnStorageService(bucketName, listingResults.Count); + foreach (var item in listingResults) + { + _logger.FileFounddOnStorageService(bucketName, item.FilePath); + } + } + catch (Exception ex) + { + _logger.ErrorListingFilesOnStorageService(ex); + } } - private async Task<PayloadAction> UpdatePayloadState(Payload payload, Exception ex) + private async Task<PayloadAction> UpdatePayloadState(Payload payload, Exception ex, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IInformaticsGatewayRepository<Payload>>() ?? throw new ServiceNotFoundException(nameof(IInformaticsGatewayRepository<Payload>)); + var repository = scope.ServiceProvider.GetService<IPayloadRepository>() ?? throw new ServiceNotFoundException(nameof(IPayloadRepository)); try { if (payload.RetryCount > _options.Value.Storage.Retries.DelaysMilliseconds.Length) { - _logger.MoveFailureStopRetry(payload.Id, ex); - await payload.DeletePayload(_options.Value.Database.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + _logger.MoveFailureStopRetry(payload.PayloadId, ex); + await repository.RemoveAsync(payload, cancellationToken).ConfigureAwait(false); + _logger.PayloadDeleted(payload.PayloadId); return PayloadAction.Deleted; } else { - _logger.MoveFailureRetryLater(payload.Id, payload.State, payload.RetryCount, ex); - await payload.UpdatePayload(_options.Value.Database.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + _logger.MoveFailureRetryLater(payload.PayloadId, payload.State, payload.RetryCount, ex); + await repository.UpdateAsync(payload, cancellationToken).ConfigureAwait(false); + _logger.PayloadSaved(payload.PayloadId); return PayloadAction.Updated; } } catch (Exception iex) { - _logger.ErrorUpdatingPayload(payload.Id, iex); + _logger.ErrorUpdatingPayload(payload.PayloadId, iex); return PayloadAction.Updated; } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadMoveException.cs b/src/InformaticsGateway/Services/Connectors/PayloadMoveException.cs index bbacdd55f..ae71a6817 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadMoveException.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadMoveException.cs @@ -27,7 +27,8 @@ public enum FailureReason { Unknown, IncorrectState, - IncompletePayload + IncompletePayload, + MoveFailure, } public PayloadNotifyException(FailureReason reason) diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs index 42d21b18e..f50d5dc19 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationActionHandler.cs @@ -26,8 +26,7 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Events; @@ -62,8 +61,8 @@ public PayloadNotificationActionHandler(IServiceScopeFactory serviceScopeFactory public async Task NotifyAsync(Payload payload, ActionBlock<Payload> notificationQueue, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); - Guard.Against.Null(notificationQueue, nameof(notificationQueue)); + Guard.Against.Null(payload); + Guard.Against.Null(notificationQueue); if (payload.State != Payload.PayloadState.Notify) { @@ -73,39 +72,39 @@ public async Task NotifyAsync(Payload payload, ActionBlock<Payload> notification try { await NotifyPayloadReady(payload).ConfigureAwait(false); - await DeletePayload(payload).ConfigureAwait(false); + await DeletePayload(payload, cancellationToken).ConfigureAwait(false); } catch (Exception ex) { payload.RetryCount++; - var action = await UpdatePayloadState(payload).ConfigureAwait(false); + var action = await UpdatePayloadState(payload, cancellationToken).ConfigureAwait(false); if (action == PayloadAction.Updated) { await notificationQueue.Post(payload, _options.Value.Messaging.Retries.RetryDelays.ElementAt(payload.RetryCount - 1)).ConfigureAwait(false); - _logger.FailedToPublishWorkflowRequest(payload.Id, ex); + _logger.FailedToPublishWorkflowRequest(payload.PayloadId, ex); } } } - private async Task DeletePayload(Payload payload) + private async Task DeletePayload(Payload payload, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IInformaticsGatewayRepository<Payload>>() ?? throw new ServiceNotFoundException(nameof(IInformaticsGatewayRepository<Payload>)); - await payload.DeletePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + var repository = scope.ServiceProvider.GetService<IPayloadRepository>() ?? throw new ServiceNotFoundException(nameof(IPayloadRepository)); + await repository.RemoveAsync(payload, cancellationToken).ConfigureAwait(false); } private async Task NotifyPayloadReady(Payload payload) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); - _logger.GenerateWorkflowRequest(payload.Id); + _logger.GenerateWorkflowRequest(payload.PayloadId); var workflowRequest = new WorkflowRequestEvent { Bucket = _options.Value.Storage.StorageServiceBucketName, - PayloadId = payload.Id, + PayloadId = payload.PayloadId, Workflows = payload.GetWorkflows(), FileCount = payload.Count, CorrelationId = payload.CorrelationId, @@ -132,31 +131,33 @@ await messageBrokerPublisherService.Publish( _logger.WorkflowRequestPublished(_options.Value.Messaging.Topics.WorkflowRequest, message.MessageId, payload.Elapsed); } - private async Task<PayloadAction> UpdatePayloadState(Payload payload) + private async Task<PayloadAction> UpdatePayloadState(Payload payload, CancellationToken cancellationToken = default) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IInformaticsGatewayRepository<Payload>>() ?? throw new ServiceNotFoundException(nameof(IInformaticsGatewayRepository<Payload>)); + var repository = scope.ServiceProvider.GetService<IPayloadRepository>() ?? throw new ServiceNotFoundException(nameof(IPayloadRepository)); try { if (payload.RetryCount > _options.Value.Storage.Retries.DelaysMilliseconds.Length) { - _logger.NotificationFailureStopRetry(payload.Id); - await payload.DeletePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + _logger.NotificationFailureStopRetry(payload.PayloadId); + await repository.RemoveAsync(payload, cancellationToken).ConfigureAwait(false); + _logger.PayloadDeleted(payload.PayloadId); return PayloadAction.Deleted; } else { - _logger.NotificationFailureRetryLater(payload.Id, payload.State, payload.RetryCount); - await payload.UpdatePayload(_options.Value.Storage.Retries.RetryDelays, _logger, repository).ConfigureAwait(false); + _logger.NotificationFailureRetryLater(payload.PayloadId, payload.State, payload.RetryCount); + await repository.UpdateAsync(payload, cancellationToken).ConfigureAwait(false); + _logger.PayloadSaved(payload.PayloadId); return PayloadAction.Updated; } } catch (Exception ex) { - _logger.ErrorUpdatingPayload(payload.Id, ex); + _logger.ErrorUpdatingPayload(payload.PayloadId, ex); return PayloadAction.Updated; } } diff --git a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs index 8aa4b77a2..ffedb0784 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadNotificationService.cs @@ -15,7 +15,6 @@ */ using System; -using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow; @@ -29,7 +28,7 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Common; @@ -89,7 +88,7 @@ public PayloadNotificationService(IServiceScopeFactory serviceScopeFactory, _cancellationTokenSource = new CancellationTokenSource(); } - public Task StartAsync(CancellationToken cancellationToken) + public async Task StartAsync(CancellationToken cancellationToken) { _moveFileQueue = new ActionBlock<Payload>( MoveActionHandler, @@ -109,7 +108,7 @@ public Task StartAsync(CancellationToken cancellationToken) CancellationToken = cancellationToken }); - RestoreFromDatabase(); + await RestoreFromDatabaseAsync(cancellationToken).ConfigureAwait(false); var task = Task.Run(() => { @@ -120,15 +119,16 @@ public Task StartAsync(CancellationToken cancellationToken) _logger.ServiceStarted(ServiceName); if (task.IsCompleted) - return task; - return Task.CompletedTask; + await task.ConfigureAwait(false); + + await Task.CompletedTask.ConfigureAwait(false); } private async Task NotificationHandler(Payload payload) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "CorrelationId", payload.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.PayloadId }, { "CorrelationId", payload.CorrelationId } }); try { @@ -150,9 +150,9 @@ private async Task NotificationHandler(Payload payload) private async Task MoveActionHandler(Payload payload) { - Guard.Against.Null(payload, nameof(payload)); + Guard.Against.Null(payload); - using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.Id }, { "CorrelationId", payload.CorrelationId } }); + using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Payload", payload.PayloadId }, { "CorrelationId", payload.CorrelationId } }); try { @@ -183,7 +183,7 @@ private void BackgroundProcessing(CancellationToken cancellationToken) { payload = _payloadAssembler.Dequeue(cancellationToken); _moveFileQueue.Post(payload); - _logger.PayloadQueuedForProcessing(payload.Id, ServiceName); + _logger.PayloadQueuedForProcessing(payload.PayloadId, ServiceName); } catch (OperationCanceledException ex) { @@ -195,21 +195,21 @@ private void BackgroundProcessing(CancellationToken cancellationToken) } catch (Exception ex) { - _logger.ErrorProcessingPayload(payload?.Id, ex); + _logger.ErrorProcessingPayload(payload?.PayloadId, ex); } } Status = ServiceStatus.Cancelled; _logger.ServiceCancelled(ServiceName); } - private void RestoreFromDatabase() + private async Task RestoreFromDatabaseAsync(CancellationToken cancellationToken) { _logger.StartupRestoreFromDatabase(); var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetService<IInformaticsGatewayRepository<Payload>>() ?? throw new ServiceNotFoundException(nameof(IInformaticsGatewayRepository<Payload>)); + var repository = scope.ServiceProvider.GetService<IPayloadRepository>() ?? throw new ServiceNotFoundException(nameof(IPayloadRepository)); - var payloads = repository.AsQueryable().Where(p => SupportedStates.Contains(p.State)); + var payloads = await repository.GetPayloadsInStateAsync(cancellationToken, SupportedStates).ConfigureAwait(false); foreach (var payload in payloads) { if (payload.State == Payload.PayloadState.Move) @@ -221,7 +221,7 @@ private void RestoreFromDatabase() _publishQueue.Post(payload); } } - _logger.RestoredFromDatabase(payloads.Count()); + _logger.RestoredFromDatabase(payloads.Count); } public async Task StopAsync(CancellationToken cancellationToken) diff --git a/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs b/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs index ae83d4cc7..3452dbf85 100644 --- a/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs +++ b/src/InformaticsGateway/Services/DicomWeb/DicomInstanceReaderBase.cs @@ -51,7 +51,7 @@ protected DicomInstanceReaderBase( protected static void ValidateSupportedMediaTypes(string contentType, out MediaTypeHeaderValue mediaTypeHeaderValue, params string[] contentTypes) { - Guard.Against.Null(contentType, nameof(contentType)); + Guard.Against.Null(contentType); if (MediaTypeHeaderValue.TryParse(contentType, out var mediaType) && contentTypes.Any(p => p.Equals(mediaType.MediaType.ToString(), StringComparison.OrdinalIgnoreCase))) @@ -65,8 +65,8 @@ protected static void ValidateSupportedMediaTypes(string contentType, out MediaT protected async Task<Stream> ConvertStream(HttpContext httpContext, Stream sourceStream, CancellationToken cancellationToken = default) { - Guard.Against.Null(httpContext, nameof(httpContext)); - Guard.Against.Null(sourceStream, nameof(sourceStream)); + Guard.Against.Null(httpContext); + Guard.Against.Null(sourceStream); Stream seekableStream; if (!sourceStream.CanSeek) diff --git a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs index 37a66d7e5..7f9cbb2df 100644 --- a/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs +++ b/src/InformaticsGateway/Services/DicomWeb/IStreamsWriter.cs @@ -74,9 +74,9 @@ public StreamsWriter( public async Task<StowResult> Save(IList<Stream> streams, string studyInstanceUid, string workflowName, string correlationId, string dataSource, CancellationToken cancellationToken = default) { - Guard.Against.NullOrEmpty(streams, nameof(streams)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(dataSource, nameof(dataSource)); + Guard.Against.NullOrEmpty(streams); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(dataSource); foreach (var stream in streams) { @@ -127,9 +127,9 @@ private int GetStatusCode(int instancesReceived) private async Task SaveInstance(Stream stream, string studyInstanceUid, string workflowName, string correlationId, string dataSource, CancellationToken cancellationToken = default) { - Guard.Against.Null(stream, nameof(stream)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(dataSource, nameof(dataSource)); + Guard.Against.Null(stream); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(dataSource); stream.Seek(0, SeekOrigin.Begin); DicomFile dicomFile; @@ -210,7 +210,7 @@ private void AddSuccess(DicomStatus warningStatus = null, StudySerieSopUids uids /// <inheritdoc /> private void AddFailure(DicomStatus dicomStatus, StudySerieSopUids uids = default) { - Guard.Against.Null(dicomStatus, nameof(dicomStatus)); + Guard.Against.Null(dicomStatus); _failureCount++; diff --git a/src/InformaticsGateway/Services/DicomWeb/MultipartDicomInstanceReader.cs b/src/InformaticsGateway/Services/DicomWeb/MultipartDicomInstanceReader.cs index f844cf1a3..efb14a834 100644 --- a/src/InformaticsGateway/Services/DicomWeb/MultipartDicomInstanceReader.cs +++ b/src/InformaticsGateway/Services/DicomWeb/MultipartDicomInstanceReader.cs @@ -40,8 +40,8 @@ public MultipartDicomInstanceReader(InformaticsGatewayConfiguration configuratio public async Task<IList<Stream>> GetStreams(HttpRequest request, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.Null(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue)); + Guard.Against.Null(request); + Guard.Against.Null(mediaTypeHeaderValue); var boundary = HeaderUtilities.RemoveQuotes(mediaTypeHeaderValue.Boundary).ToString(); diff --git a/src/InformaticsGateway/Services/DicomWeb/SingleDicomInstanceReader.cs b/src/InformaticsGateway/Services/DicomWeb/SingleDicomInstanceReader.cs index 4b5b13a30..d9f8b5d8a 100644 --- a/src/InformaticsGateway/Services/DicomWeb/SingleDicomInstanceReader.cs +++ b/src/InformaticsGateway/Services/DicomWeb/SingleDicomInstanceReader.cs @@ -37,8 +37,8 @@ public SingleDicomInstanceReader(InformaticsGatewayConfiguration configuration, public async Task<IList<Stream>> GetStreams(HttpRequest request, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.Null(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue)); + Guard.Against.Null(request); + Guard.Against.Null(mediaTypeHeaderValue); try { diff --git a/src/InformaticsGateway/Services/DicomWeb/StowService.cs b/src/InformaticsGateway/Services/DicomWeb/StowService.cs index 956d80913..6ec038ca9 100644 --- a/src/InformaticsGateway/Services/DicomWeb/StowService.cs +++ b/src/InformaticsGateway/Services/DicomWeb/StowService.cs @@ -49,8 +49,8 @@ public StowService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic public async Task<StowResult> StoreAsync(HttpRequest request, string studyInstanceUid, string workflowName, string correlationId, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(request); + Guard.Against.NullOrWhiteSpace(correlationId); if (!string.IsNullOrWhiteSpace(studyInstanceUid)) { @@ -76,7 +76,7 @@ public async Task<StowResult> StoreAsync(HttpRequest request, string studyInstan private IStowRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeaderValue) { - Guard.Against.Null(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue)); + Guard.Against.Null(mediaTypeHeaderValue); var scope = _serviceScopeFactory.CreateScope(); var fileSystem = scope.ServiceProvider.GetService<IFileSystem>() ?? throw new ServiceNotFoundException(nameof(IFileSystem)); diff --git a/src/InformaticsGateway/Services/Export/DicomWebExportService.cs b/src/InformaticsGateway/Services/Export/DicomWebExportService.cs index 22d51bce7..8226b16a8 100644 --- a/src/InformaticsGateway/Services/Export/DicomWebExportService.cs +++ b/src/InformaticsGateway/Services/Export/DicomWebExportService.cs @@ -30,10 +30,10 @@ using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; using Monai.Deploy.InformaticsGateway.DicomWeb.Client.API; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.Messaging.Events; using Polly; @@ -90,11 +90,11 @@ protected override async Task<ExportRequestDataMessage> ExportDataBlockCallback( private async Task HandleTransaction(ExportRequestDataMessage exportRequestData, IInferenceRequestRepository repository, string transaction, CancellationToken cancellationToken) { - Guard.Against.Null(exportRequestData, nameof(exportRequestData)); - Guard.Against.Null(repository, nameof(repository)); - Guard.Against.NullOrWhiteSpace(transaction, nameof(transaction)); + Guard.Against.Null(exportRequestData); + Guard.Against.Null(repository); + Guard.Against.NullOrWhiteSpace(transaction); - var inferenceRequest = repository.GetInferenceRequest(transaction); + var inferenceRequest = await repository.GetInferenceRequestAsync(transaction, cancellationToken).ConfigureAwait(false); if (inferenceRequest is null) { var errorMessage = $"The specified inference request '{transaction}' cannot be found and will not be exported."; @@ -166,7 +166,7 @@ await Policy private void CheckAndLogResult(DicomWebResponse<string> result) { - Guard.Against.Null(result, nameof(result)); + Guard.Against.Null(result); switch (result.StatusCode) { case System.Net.HttpStatusCode.OK: diff --git a/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs b/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs index 4b0a3baf0..7f319c9d5 100644 --- a/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs +++ b/src/InformaticsGateway/Services/Export/ExportRequestDataMessage.cs @@ -58,13 +58,13 @@ public ExportRequestDataMessage(ExportRequestEvent exportRequest, string filenam public void SetData(byte[] data) { - Guard.Against.Null(data, nameof(data)); + Guard.Against.Null(data); FileContent = data; } public void SetFailed(FileExportStatus fileExportStatus, string errorMessage) { - Guard.Against.NullOrWhiteSpace(errorMessage, nameof(errorMessage)); + Guard.Against.NullOrWhiteSpace(errorMessage); ExportStatus = fileExportStatus; IsFailed = true; diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index ff044eaeb..defb1976d 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -203,7 +203,7 @@ private void OnMessageReceivedCallback(MessageReceivedEventArgs eventArgs) // https://github.com/dotnet/runtime/issues/30863 private IEnumerable<ExportRequestDataMessage> DownloadPayloadActionCallback(ExportRequestEventDetails exportRequest, CancellationToken cancellationToken) { - Guard.Against.Null(exportRequest, nameof(exportRequest)); + Guard.Against.Null(exportRequest); using var loggerScope = _logger.BeginScope(new Api.LoggingDataDictionary<string, object> { { "ExportTaskId", exportRequest.ExportTaskId }, { "CorrelationId", exportRequest.CorrelationId } }); var scope = _serviceScopeFactory.CreateScope(); var storageService = scope.ServiceProvider.GetRequiredService<IStorageService>(); diff --git a/src/InformaticsGateway/Services/Export/ScuExportService.cs b/src/InformaticsGateway/Services/Export/ScuExportService.cs index 5e1b987cf..e1bdd4ac7 100644 --- a/src/InformaticsGateway/Services/Export/ScuExportService.cs +++ b/src/InformaticsGateway/Services/Export/ScuExportService.cs @@ -29,7 +29,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.Messaging.Events; using Polly; @@ -77,13 +77,13 @@ protected override async Task<ExportRequestDataMessage> ExportDataBlockCallback( private async Task HandleDesination(ExportRequestDataMessage exportRequestData, string destinationName, CancellationToken cancellationToken) { - Guard.Against.Null(exportRequestData, nameof(exportRequestData)); + Guard.Against.Null(exportRequestData); var manualResetEvent = new ManualResetEvent(false); DestinationApplicationEntity destination = null; try { - destination = LookupDestination(destinationName); + destination = await LookupDestinationAsync(destinationName, cancellationToken).ConfigureAwait(false); } catch (ConfigurationException ex) { @@ -133,7 +133,7 @@ await Policy } } - private DestinationApplicationEntity LookupDestination(string destinationName) + private async Task<DestinationApplicationEntity> LookupDestinationAsync(string destinationName, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(destinationName)) { @@ -141,8 +141,8 @@ private DestinationApplicationEntity LookupDestination(string destinationName) } using var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<DestinationApplicationEntity>>(); - var destination = repository.FirstOrDefault(p => p.Name.Equals(destinationName, StringComparison.InvariantCultureIgnoreCase)); + var repository = scope.ServiceProvider.GetRequiredService<IDestinationApplicationEntityRepository>(); + var destination = await repository.FindByNameAsync(destinationName, cancellationToken).ConfigureAwait(false); if (destination is null) { diff --git a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs index d489ff5d0..1f976b8a8 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirJsonReader.cs @@ -48,8 +48,8 @@ public FhirJsonReader(ILogger<FhirJsonReader> logger, IOptions<InformaticsGatewa public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(request); + Guard.Against.NullOrWhiteSpace(correlationId); Guard.Against.NullOrInvalidInput(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue), (value) => { return value.MediaType.Value.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase); @@ -83,8 +83,8 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c private static string SetIdIfMIssing(string correlationId, JsonNode jsonDoc) { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.Null(jsonDoc, nameof(jsonDoc)); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.Null(jsonDoc); if (string.IsNullOrWhiteSpace(jsonDoc[Resources.PropertyId]?.GetValue<string>())) { diff --git a/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs b/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs index d962c125b..1c5d30d5b 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirResourceTypesRouteConstraint.cs @@ -24,10 +24,10 @@ internal class FhirResourceTypesRouteConstraint : IRouteConstraint { public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) { - Guard.Against.Null(httpContext, nameof(httpContext)); - Guard.Against.Null(route, nameof(route)); - Guard.Against.NullOrWhiteSpace(routeKey, nameof(routeKey)); - Guard.Against.Null(values, nameof(values)); + Guard.Against.Null(httpContext); + Guard.Against.Null(route); + Guard.Against.NullOrWhiteSpace(routeKey); + Guard.Against.Null(values); return (values.TryGetValue(Resources.RouteNameResourceType, out var resourceTypeObject) && resourceTypeObject is string resourceType && diff --git a/src/InformaticsGateway/Services/Fhir/FhirService.cs b/src/InformaticsGateway/Services/Fhir/FhirService.cs index f66dbc830..f1cc9eab6 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirService.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirService.cs @@ -58,8 +58,8 @@ public FhirService(IServiceScopeFactory serviceScopeFactory, IOptions<Informatic public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correlationId, string resourceType, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(request); + Guard.Against.NullOrWhiteSpace(correlationId); if (!MediaTypeHeaderValue.TryParse(request.ContentType, out var mediaTypeHeaderValue)) { @@ -97,7 +97,7 @@ public async Task<FhirStoreResult> StoreAsync(HttpRequest request, string correl private IFHirRequestReader GetRequestReader(MediaTypeHeaderValue mediaTypeHeaderValue) { - Guard.Against.Null(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue)); + Guard.Against.Null(mediaTypeHeaderValue); var scope = _serviceScopeFactory.CreateScope(); if (mediaTypeHeaderValue.MediaType.Equals(ContentTypes.ApplicationFhirJson, StringComparison.OrdinalIgnoreCase)) diff --git a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs index d936e8d44..123e24e20 100644 --- a/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs +++ b/src/InformaticsGateway/Services/Fhir/FhirXmlReader.cs @@ -48,8 +48,8 @@ public FhirXmlReader(ILogger<FhirXmlReader> logger, IOptions<InformaticsGatewayC public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string correlationId, string resourceType, MediaTypeHeaderValue mediaTypeHeaderValue, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); + Guard.Against.Null(request); + Guard.Against.NullOrWhiteSpace(correlationId); Guard.Against.NullOrInvalidInput(mediaTypeHeaderValue, nameof(mediaTypeHeaderValue), (value) => { return value.MediaType.Value.Equals(ContentTypes.ApplicationFhirXml, StringComparison.OrdinalIgnoreCase); @@ -95,9 +95,9 @@ public async Task<FhirStoreResult> GetContentAsync(HttpRequest request, string c private static string SetIdIfMIssing(string correlationId, XmlNamespaceManager xmlNamespaceManager, XmlElement rootNode) { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.Null(xmlNamespaceManager, nameof(xmlNamespaceManager)); - Guard.Against.Null(rootNode, nameof(rootNode)); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.Null(xmlNamespaceManager); + Guard.Against.Null(rootNode); var idNode = rootNode.SelectSingleNode($"{Resources.XmlNamespacePrefix}:{Resources.PropertyId}", xmlNamespaceManager); if (idNode is null) diff --git a/src/InformaticsGateway/Services/Fhir/Resources.cs b/src/InformaticsGateway/Services/Fhir/Resources.cs index 6761d60cc..74a0f64bf 100644 --- a/src/InformaticsGateway/Services/Fhir/Resources.cs +++ b/src/InformaticsGateway/Services/Fhir/Resources.cs @@ -28,6 +28,6 @@ internal static class Resources public const string PropertyResourceType = "resourceType"; public const string PropertyId = "id"; public const string AttributeValue = "value"; - public const uint PayloadAssemblerTimeout = 1; + public const uint PayloadAssemblerTimeout = 5; } } diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs index c31a579b1..4160b8ba9 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpClient.cs @@ -52,7 +52,7 @@ public MllpClient(ITcpClientAdapter client, Hl7Configuration configurations, ILo _exceptions = new List<Exception>(); _messages = new List<Message>(); - _loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "End point", _client.RemoteEndPoint }, { "CorrelationId", ClientId } }); + _loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "Endpoint", _client.RemoteEndPoint }, { "CorrelationId", ClientId } }); } public async Task Start(Func<IMllpClient, MllpClientResult, Task> onDisconnect, CancellationToken cancellationToken) @@ -72,7 +72,7 @@ public async Task Start(Func<IMllpClient, MllpClientResult, Task> onDisconnect, private async Task<IList<Message>> ReceiveData(INetworkStream clientStream, CancellationToken cancellationToken) { - Guard.Against.Null(clientStream, nameof(clientStream)); + Guard.Against.Null(clientStream); var data = string.Empty; var messages = new List<Message>(); @@ -143,8 +143,8 @@ private async Task<IList<Message>> ReceiveData(INetworkStream clientStream, Canc private async Task SendAcknowledgment(INetworkStream clientStream, Message message, CancellationToken cancellationToken) { - Guard.Against.Null(clientStream, nameof(clientStream)); - Guard.Against.Null(message, nameof(message)); + Guard.Against.Null(clientStream); + Guard.Against.Null(message); if (!_configurations.SendAcknowledgment) { @@ -171,7 +171,7 @@ private async Task SendAcknowledgment(INetworkStream clientStream, Message messa private bool ShouldSendAcknowledgment(Message message) { - Guard.Against.Null(message, nameof(message)); + Guard.Against.Null(message); try { var value = message.DefaultSegment(Resources.MessageHeaderSegment).Fields(Resources.AcceptAcknowledgementType); diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index 6e6bc09a2..c2be31a00 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -161,17 +161,16 @@ private async Task BackgroundProcessing(CancellationToken cancellationToken) private async Task OnDisconnect(IMllpClient client, MllpClientResult result) { - Guard.Against.Null(client, nameof(client)); - Guard.Against.Null(result, nameof(result)); + Guard.Against.Null(client); + Guard.Against.Null(result); - _activeTasks.Remove(client.ClientId, out _); try { foreach (var message in result.Messages) { var hl7Fileetadata = new Hl7FileStorageMetadata(client.ClientId.ToString()); - await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.LocalTemporaryStoragePath); + await hl7Fileetadata.SetDataStream(message.HL7Message, _configuration.Value.Storage.TemporaryDataStorage, _fileSystem, _configuration.Value.Storage.LocalTemporaryStoragePath).ConfigureAwait(false); _uploadQueue.Queue(hl7Fileetadata); await _payloadAssembler.Queue(client.ClientId.ToString(), hl7Fileetadata).ConfigureAwait(false); } @@ -182,6 +181,8 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) } finally { + _activeTasks.Remove(client.ClientId, out _); + _logger.Hl7ClientRemoved(client.ClientId); client.Dispose(); } } diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index 468a312c7..09326de1d 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -25,7 +25,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Scu; @@ -36,12 +36,12 @@ namespace Monai.Deploy.InformaticsGateway.Services.Http public class DestinationAeTitleController : ControllerBase { private readonly ILogger<DestinationAeTitleController> _logger; - private readonly IInformaticsGatewayRepository<DestinationApplicationEntity> _repository; + private readonly IDestinationApplicationEntityRepository _repository; private readonly IScuQueue _scuQueue; public DestinationAeTitleController( ILogger<DestinationAeTitleController> logger, - IInformaticsGatewayRepository<DestinationApplicationEntity> repository, + IDestinationApplicationEntityRepository repository, IScuQueue scuQueue) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); @@ -57,7 +57,7 @@ public async Task<ActionResult<IEnumerable<DestinationApplicationEntity>>> Get() { try { - return Ok(await _repository.ToListAsync().ConfigureAwait(false)); + return Ok(await _repository.ToListAsync(HttpContext.RequestAborted).ConfigureAwait(false)); } catch (Exception ex) { @@ -75,7 +75,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> GetAeTitle(string { try { - var destinationApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var destinationApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (destinationApplicationEntity is null) { @@ -108,7 +108,7 @@ public async Task<IActionResult> CEcho(string name) return NotFound(); } - var destinationApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var destinationApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (destinationApplicationEntity is null) { @@ -153,10 +153,9 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item { item.SetDefaultValues(); - ValidateCreate(item); + await ValidateCreateAsync(item).ConfigureAwait(false); - await _repository.AddAsync(item).ConfigureAwait(false); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.AddAsync(item, HttpContext.RequestAborted).ConfigureAwait(false); _logger.DestinationApplicationEntityAdded(item.AeTitle, item.HostIp); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); } @@ -189,7 +188,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> Edit(DestinationAp return NotFound(); } - var destinationApplicationEntity = await _repository.FindAsync(item.Name).ConfigureAwait(false); + var destinationApplicationEntity = await _repository.FindByNameAsync(item.Name, HttpContext.RequestAborted).ConfigureAwait(false); if (destinationApplicationEntity is null) { return NotFound(); @@ -201,10 +200,9 @@ public async Task<ActionResult<DestinationApplicationEntity>> Edit(DestinationAp destinationApplicationEntity.HostIp = item.HostIp; destinationApplicationEntity.Port = item.Port; - ValidateUpdate(destinationApplicationEntity); + await ValidateUpdateAsync(destinationApplicationEntity).ConfigureAwait(false); - _ = _repository.Update(destinationApplicationEntity); - await _repository.SaveChangesAsync(HttpContext.RequestAborted).ConfigureAwait(false); + _ = _repository.UpdateAsync(destinationApplicationEntity, HttpContext.RequestAborted); _logger.DestinationApplicationEntityUpdated(item.Name, item.AeTitle, item.HostIp, item.Port); return Ok(destinationApplicationEntity); } @@ -228,14 +226,13 @@ public async Task<ActionResult<DestinationApplicationEntity>> Delete(string name { try { - var destinationApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var destinationApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (destinationApplicationEntity is null) { return NotFound(); } - _repository.Remove(destinationApplicationEntity); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.RemoveAsync(destinationApplicationEntity, HttpContext.RequestAborted).ConfigureAwait(false); _logger.DestinationApplicationEntityDeleted(name); return Ok(destinationApplicationEntity); @@ -247,13 +244,13 @@ public async Task<ActionResult<DestinationApplicationEntity>> Delete(string name } } - private void ValidateCreate(DestinationApplicationEntity item) + private async Task ValidateCreateAsync(DestinationApplicationEntity item) { - if (_repository.Any(p => p.Name.Equals(item.Name))) + if (await _repository.ContainsAsync(p => p.Name.Equals(item.Name), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM destination with the same name '{item.Name}' already exists."); } - if (_repository.Any(p => p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port))) + if (await _repository.ContainsAsync(p => p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM destination with the same AE Title '{item.AeTitle}', host/IP Address '{item.HostIp}' and port '{item.Port}' already exists."); } @@ -263,9 +260,9 @@ private void ValidateCreate(DestinationApplicationEntity item) } } - private void ValidateUpdate(DestinationApplicationEntity item) + private async Task ValidateUpdateAsync(DestinationApplicationEntity item) { - if (_repository.Any(p => !p.Name.Equals(item.Name) && p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port))) + if (await _repository.ContainsAsync(p => !p.Name.Equals(item.Name) && p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp) && p.Port.Equals(item.Port), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM destination with the same AE Title '{item.AeTitle}', host/IP Address '{item.HostIp}' and port '{item.Port}' already exists."); } diff --git a/src/InformaticsGateway/Services/Http/InferenceController.cs b/src/InformaticsGateway/Services/Http/InferenceController.cs index 69300f256..1ce974a90 100644 --- a/src/InformaticsGateway/Services/Http/InferenceController.cs +++ b/src/InformaticsGateway/Services/Http/InferenceController.cs @@ -24,8 +24,8 @@ using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; namespace Monai.Deploy.InformaticsGateway.Services.Http { @@ -51,11 +51,11 @@ public InferenceController( [ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task<ActionResult> JobStatus(string transactionId) { - Guard.Against.NullOrWhiteSpace(transactionId, nameof(transactionId)); + Guard.Against.NullOrWhiteSpace(transactionId); try { - var status = await _inferenceRequestRepository.GetStatus(transactionId).ConfigureAwait(false); + var status = await _inferenceRequestRepository.GetStatusAsync(transactionId, HttpContext.RequestAborted).ConfigureAwait(false); if (status is null) { @@ -80,7 +80,7 @@ public async Task<ActionResult> JobStatus(string transactionId) [ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task<ActionResult> NewInferenceRequest([FromBody] InferenceRequest request) { - Guard.Against.Null(request, nameof(request)); + Guard.Against.Null(request); if (!request.IsValid(out var details)) { @@ -88,15 +88,15 @@ public async Task<ActionResult> NewInferenceRequest([FromBody] InferenceRequest } using var _ = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "TransactionId", request.TransactionId } }); - - if (_inferenceRequestRepository.Exists(request.TransactionId)) - { - return Problem(title: "Conflict", statusCode: (int)HttpStatusCode.Conflict, detail: "An existing request with same transaction ID already exists."); - } - try { - await _inferenceRequestRepository.Add(request).ConfigureAwait(false); + + if (await _inferenceRequestRepository.ExistsAsync(request.TransactionId, HttpContext.RequestAborted).ConfigureAwait(false)) + { + return Problem(title: "Conflict", statusCode: (int)HttpStatusCode.Conflict, detail: "An existing request with same transaction ID already exists."); + } + + await _inferenceRequestRepository.AddAsync(request, HttpContext.RequestAborted).ConfigureAwait(false); } catch (Exception ex) { diff --git a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs index 2ace1759d..e3e69ac24 100644 --- a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs @@ -26,7 +26,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Scp; @@ -37,13 +37,13 @@ namespace Monai.Deploy.InformaticsGateway.Services.Http public class MonaiAeTitleController : ControllerBase { private readonly ILogger<MonaiAeTitleController> _logger; - private readonly IInformaticsGatewayRepository<MonaiApplicationEntity> _repository; + private readonly IMonaiApplicationEntityRepository _repository; private readonly IMonaiAeChangedNotificationService _monaiAeChangedNotificationService; public MonaiAeTitleController( ILogger<MonaiAeTitleController> logger, IMonaiAeChangedNotificationService monaiAeChangedNotificationService, - IInformaticsGatewayRepository<MonaiApplicationEntity> repository) + IMonaiApplicationEntityRepository repository) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); @@ -58,7 +58,7 @@ public async Task<ActionResult<IEnumerable<MonaiApplicationEntity>>> Get() { try { - return Ok(await _repository.ToListAsync().ConfigureAwait(false)); + return Ok(await _repository.ToListAsync(HttpContext.RequestAborted).ConfigureAwait(false)); } catch (Exception ex) { @@ -77,7 +77,7 @@ public async Task<ActionResult<MonaiApplicationEntity>> GetAeTitle(string name) { try { - var monaiApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var monaiApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (monaiApplicationEntity is null) { @@ -104,12 +104,11 @@ public async Task<ActionResult<MonaiApplicationEntity>> Create(MonaiApplicationE { try { - Validate(item); + await ValidateAsync(item).ConfigureAwait(false); item.SetDefaultValues(); - await _repository.AddAsync(item).ConfigureAwait(false); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.AddAsync(item, HttpContext.RequestAborted).ConfigureAwait(false); _monaiAeChangedNotificationService.Notify(new MonaiApplicationentityChangedEvent(item, ChangedEventType.Added)); _logger.MonaiApplicationEntityAdded(item.AeTitle); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); @@ -138,14 +137,13 @@ public async Task<ActionResult<MonaiApplicationEntity>> Delete(string name) { try { - var monaiApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var monaiApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (monaiApplicationEntity is null) { return NotFound(); } - _repository.Remove(monaiApplicationEntity); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.RemoveAsync(monaiApplicationEntity, HttpContext.RequestAborted).ConfigureAwait(false); _monaiAeChangedNotificationService.Notify(new MonaiApplicationentityChangedEvent(monaiApplicationEntity, ChangedEventType.Deleted)); _logger.MonaiApplicationEntityDeleted(name); @@ -158,15 +156,15 @@ public async Task<ActionResult<MonaiApplicationEntity>> Delete(string name) } } - private void Validate(MonaiApplicationEntity item) + private async Task ValidateAsync(MonaiApplicationEntity item) { - Guard.Against.Null(item, nameof(item)); + Guard.Against.Null(item); - if (_repository.Any(p => p.Name.Equals(item.Name))) + if (await _repository.ContainsAsync(p => p.Name.Equals(item.Name), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A MONAI Application Entity with the same name '{item.Name}' already exists."); } - if (_repository.Any(p => p.AeTitle.Equals(item.AeTitle))) + if (await _repository.ContainsAsync(p => p.AeTitle.Equals(item.AeTitle), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A MONAI Application Entity with the same AE Title '{item.AeTitle}' already exists."); } diff --git a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs index 37cd526db..cd281ccda 100644 --- a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs @@ -25,7 +25,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Http @@ -35,11 +35,11 @@ namespace Monai.Deploy.InformaticsGateway.Services.Http public class SourceAeTitleController : ControllerBase { private readonly ILogger<SourceAeTitleController> _logger; - private readonly IInformaticsGatewayRepository<SourceApplicationEntity> _repository; + private readonly ISourceApplicationEntityRepository _repository; public SourceAeTitleController( ILogger<SourceAeTitleController> logger, - IInformaticsGatewayRepository<SourceApplicationEntity> repository) + ISourceApplicationEntityRepository repository) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _repository = repository ?? throw new ArgumentNullException(nameof(repository)); @@ -53,7 +53,7 @@ public async Task<ActionResult<IEnumerable<SourceApplicationEntity>>> Get() { try { - return Ok(await _repository.ToListAsync().ConfigureAwait(false)); + return Ok(await _repository.ToListAsync(HttpContext.RequestAborted).ConfigureAwait(false)); } catch (Exception ex) { @@ -72,7 +72,7 @@ public async Task<ActionResult<SourceApplicationEntity>> GetAeTitle(string name) { try { - var sourceApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var sourceApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (sourceApplicationEntity is null) { @@ -100,10 +100,9 @@ public async Task<ActionResult<string>> Create(SourceApplicationEntity item) try { item.SetDefaultValues(); - ValidateCreate(item); + await ValidateCreateAsync(item).ConfigureAwait(false); - await _repository.AddAsync(item).ConfigureAwait(false); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.AddAsync(item, HttpContext.RequestAborted).ConfigureAwait(false); _logger.SourceApplicationEntityAdded(item.AeTitle, item.HostIp); return CreatedAtAction(nameof(GetAeTitle), new { name = item.Name }, item); } @@ -137,7 +136,7 @@ public async Task<ActionResult<SourceApplicationEntity>> Edit(SourceApplicationE return NotFound(); } - var sourceApplicationEntity = await _repository.FindAsync(item.Name).ConfigureAwait(false); + var sourceApplicationEntity = await _repository.FindByNameAsync(item.Name, HttpContext.RequestAborted).ConfigureAwait(false); if (sourceApplicationEntity is null) { return NotFound(); @@ -148,10 +147,9 @@ public async Task<ActionResult<SourceApplicationEntity>> Edit(SourceApplicationE sourceApplicationEntity.AeTitle = item.AeTitle; sourceApplicationEntity.HostIp = item.HostIp; - ValidateEdit(sourceApplicationEntity); + await ValidateEditAsync(sourceApplicationEntity).ConfigureAwait(false); - _ = _repository.Update(sourceApplicationEntity); - await _repository.SaveChangesAsync(HttpContext.RequestAborted).ConfigureAwait(false); + await _repository.UpdateAsync(sourceApplicationEntity, HttpContext.RequestAborted).ConfigureAwait(false); _logger.SourceApplicationEntityUpdated(item.Name, item.AeTitle, item.HostIp); return Ok(sourceApplicationEntity); } @@ -175,14 +173,13 @@ public async Task<ActionResult<SourceApplicationEntity>> Delete(string name) { try { - var sourceApplicationEntity = await _repository.FindAsync(name).ConfigureAwait(false); + var sourceApplicationEntity = await _repository.FindByNameAsync(name, HttpContext.RequestAborted).ConfigureAwait(false); if (sourceApplicationEntity is null) { return NotFound(); } - _repository.Remove(sourceApplicationEntity); - await _repository.SaveChangesAsync().ConfigureAwait(false); + await _repository.RemoveAsync(sourceApplicationEntity, HttpContext.RequestAborted).ConfigureAwait(false); _logger.SourceApplicationEntityDeleted(name); return Ok(sourceApplicationEntity); @@ -194,13 +191,13 @@ public async Task<ActionResult<SourceApplicationEntity>> Delete(string name) } } - private void ValidateCreate(SourceApplicationEntity item) + private async Task ValidateCreateAsync(SourceApplicationEntity item) { - if (_repository.Any(p => p.Name.Equals(item.Name))) + if (await _repository.ContainsAsync(p => p.Name.Equals(item.Name), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM source with the same name '{item.Name}' already exists."); } - if (_repository.Any(p => item.AeTitle.Equals(p.AeTitle) && item.HostIp.Equals(p.HostIp))) + if (await _repository.ContainsAsync(p => p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM source with the same AE Title '{item.AeTitle}' and host/IP address '{item.HostIp}' already exists."); } @@ -210,9 +207,9 @@ private void ValidateCreate(SourceApplicationEntity item) } } - private void ValidateEdit(SourceApplicationEntity item) + private async Task ValidateEditAsync(SourceApplicationEntity item) { - if (_repository.Any(p => !item.Name.Equals(p.Name) && item.AeTitle.Equals(p.AeTitle) && item.HostIp.Equals(p.HostIp))) + if (await _repository.ContainsAsync(p => !p.Name.Equals(item.Name) && p.AeTitle.Equals(item.AeTitle) && p.HostIp.Equals(item.HostIp), HttpContext.RequestAborted).ConfigureAwait(false)) { throw new ObjectExistsException($"A DICOM source with the same AE Title '{item.AeTitle}' and host/IP address '{item.HostIp}' already exists."); } diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs index bcc35aa2b..52f803eee 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityHandler.cs @@ -52,7 +52,7 @@ public ApplicationEntityHandler( ILogger<ApplicationEntityHandler> logger, IOptions<InformaticsGatewayConfiguration> options) { - Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); + Guard.Against.Null(serviceScopeFactory); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _options = options ?? throw new ArgumentNullException(nameof(options)); @@ -64,7 +64,7 @@ public ApplicationEntityHandler( public void Configure(MonaiApplicationEntity monaiApplicationEntity, DicomJsonOptions dicomJsonOptions, bool validateDicomValuesOnJsonSerialization) { - Guard.Against.Null(monaiApplicationEntity, nameof(monaiApplicationEntity)); + Guard.Against.Null(monaiApplicationEntity); _configuration = monaiApplicationEntity; _dicomJsonOptions = dicomJsonOptions; @@ -78,11 +78,11 @@ public async Task HandleInstanceAsync(DicomCStoreRequest request, string calledA throw new NotSupportedException("Must call Configure(...) first."); } - Guard.Against.Null(request, nameof(request)); - Guard.Against.NullOrWhiteSpace(calledAeTitle, nameof(calledAeTitle)); - Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); - Guard.Against.Null(associationId, nameof(associationId)); - Guard.Against.Null(uids, nameof(uids)); + Guard.Against.Null(request); + Guard.Against.NullOrWhiteSpace(calledAeTitle); + Guard.Against.NullOrWhiteSpace(callingAeTitle); + Guard.Against.Null(associationId); + Guard.Against.Null(uids); if (!AcceptsSopClass(uids.SopClassUid)) { diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index 402f180e8..4f7abe4ec 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -27,7 +27,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; using Monai.Deploy.InformaticsGateway.Services.Storage; @@ -43,6 +43,7 @@ internal class ApplicationEntityManager : IApplicationEntityManager, IDisposable private readonly IStorageInfoProvider _storageInfoProvider; private readonly ConcurrentDictionary<string, IApplicationEntityHandler> _aeTitles; private readonly IDisposable _unsubscriberForMonaiAeChangedNotificationService; + private readonly Task _initializeTask; private bool _disposedValue; public IOptions<InformaticsGatewayConfiguration> Configuration { get; } @@ -80,7 +81,7 @@ public ApplicationEntityManager(IHostApplicationLifetime applicationLifetime, _aeTitles = new ConcurrentDictionary<string, IApplicationEntityHandler>(); applicationLifetime.ApplicationStopping.Register(OnApplicationStopping); - InitializeMonaiAeTitles(); + _initializeTask = InitializeMonaiAeTitlesAsync(); } ~ApplicationEntityManager() => Dispose(false); @@ -91,12 +92,12 @@ private void OnApplicationStopping() _unsubscriberForMonaiAeChangedNotificationService.Dispose(); } -#pragma warning disable S4457 // Parameter validation in "async"/"await" methods should be wrapped public async Task HandleCStoreRequest(DicomCStoreRequest request, string calledAeTitle, string callingAeTitle, Guid associationId) -#pragma warning restore S4457 // Parameter validation in "async"/"await" methods should be wrapped { - Guard.Against.Null(request, nameof(request)); + Guard.Against.Null(request); + + await _initializeTask.ConfigureAwait(false); if (!_aeTitles.ContainsKey(calledAeTitle)) { @@ -123,9 +124,10 @@ private async Task HandleInstance(DicomCStoreRequest request, string calledAeTit } } - public bool IsAeTitleConfigured(string calledAe) + public async Task<bool> IsAeTitleConfiguredAsync(string calledAe) { - Guard.Against.NullOrWhiteSpace(calledAe, nameof(calledAe)); + Guard.Against.NullOrWhiteSpace(calledAe); + await _initializeTask.ConfigureAwait(false); return _aeTitles.ContainsKey(calledAe); } @@ -140,13 +142,13 @@ public ILogger GetLogger(string calledAeTitle) return _loggerFactory.CreateLogger(calledAeTitle); } - private void InitializeMonaiAeTitles() + private async Task InitializeMonaiAeTitlesAsync() { _logger.LoadingMonaiAeTitles(); using var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<MonaiApplicationEntity>>(); - foreach (var ae in repository.AsQueryable()) + var repository = scope.ServiceProvider.GetRequiredService<IMonaiApplicationEntityRepository>(); + foreach (var ae in await repository.ToListAsync().ConfigureAwait(false)) { AddNewAeTitle(ae); } @@ -154,6 +156,8 @@ private void InitializeMonaiAeTitles() private void AddNewAeTitle(MonaiApplicationEntity entity) { + Guard.Against.Null(entity); + var scope = _serviceScopeFactory.CreateScope(); var handler = scope.ServiceProvider.GetService<IApplicationEntityHandler>() ?? throw new ServiceNotFoundException(nameof(IApplicationEntityHandler)); handler.Configure(entity, Configuration.Value.Dicom.WriteDicomJson, Configuration.Value.Dicom.ValidateDicomOnSerialization); @@ -180,7 +184,7 @@ public void OnError(Exception error) public void OnNext(MonaiApplicationentityChangedEvent applicationChangedEvent) { - Guard.Against.Null(applicationChangedEvent, nameof(applicationChangedEvent)); + Guard.Against.Null(applicationChangedEvent); switch (applicationChangedEvent.Event) { @@ -195,7 +199,7 @@ public void OnNext(MonaiApplicationentityChangedEvent applicationChangedEvent) } } - public bool IsValidSource(string callingAe, string host) + public async Task<bool> IsValidSourceAsync(string callingAe, string host) { if (string.IsNullOrWhiteSpace(callingAe) || string.IsNullOrWhiteSpace(host)) { @@ -203,18 +207,18 @@ public bool IsValidSource(string callingAe, string host) } using var scope = _serviceScopeFactory.CreateScope(); - var repository = scope.ServiceProvider.GetRequiredService<IInformaticsGatewayRepository<SourceApplicationEntity>>(); - var sourceAe = repository.FirstOrDefault(p => p.AeTitle.Equals(callingAe) && p.HostIp.Equals(host, StringComparison.OrdinalIgnoreCase)); + var repository = scope.ServiceProvider.GetRequiredService<ISourceApplicationEntityRepository>(); + var containsSource = await repository.ContainsAsync(p => p.AeTitle.Equals(callingAe) && p.HostIp.Equals(host)).ConfigureAwait(false); - if (sourceAe is null) + if (!containsSource) { - foreach (var src in repository.AsQueryable()) + foreach (var src in await repository.ToListAsync().ConfigureAwait(false)) { _logger.AvailableSource(src.AeTitle, src.HostIp); } } - return sourceAe is not null; + return containsSource; } protected virtual void Dispose(bool disposing) diff --git a/src/InformaticsGateway/Services/Scp/IApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/IApplicationEntityManager.cs index 2838ec4dd..5681e98fc 100644 --- a/src/InformaticsGateway/Services/Scp/IApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/IApplicationEntityManager.cs @@ -43,7 +43,7 @@ public interface IApplicationEntityManager /// </summary> /// <param name="calledAe"></param> /// <returns>True if the AE Title is configured; false otherwise.</returns> - bool IsAeTitleConfigured(string calledAe); + Task<bool> IsAeTitleConfiguredAsync(string calledAe); /// <summary> /// Wrapper to get injected service. @@ -61,6 +61,6 @@ public interface IApplicationEntityManager /// </summary> /// <param name="callingAe"></param> /// <returns></returns> - bool IsValidSource(string callingAe, string host); + Task<bool> IsValidSourceAsync(string callingAe, string host); } } diff --git a/src/InformaticsGateway/Services/Scp/MonaiAeChangedNotificationService.cs b/src/InformaticsGateway/Services/Scp/MonaiAeChangedNotificationService.cs index 79669794b..daa4650a8 100644 --- a/src/InformaticsGateway/Services/Scp/MonaiAeChangedNotificationService.cs +++ b/src/InformaticsGateway/Services/Scp/MonaiAeChangedNotificationService.cs @@ -38,7 +38,7 @@ public MonaiAeChangedNotificationService(ILogger<MonaiAeChangedNotificationServi public IDisposable Subscribe(IObserver<MonaiApplicationentityChangedEvent> observer) { - Guard.Against.Null(observer, nameof(observer)); + Guard.Against.Null(observer); if (!_observers.Contains(observer)) { @@ -50,7 +50,7 @@ public IDisposable Subscribe(IObserver<MonaiApplicationentityChangedEvent> obser public void Notify(MonaiApplicationentityChangedEvent monaiApplicationChangedEvent) { - Guard.Against.Null(monaiApplicationChangedEvent, nameof(monaiApplicationChangedEvent)); + Guard.Against.Null(monaiApplicationChangedEvent); _logger.NotifyAeChanged(_observers.Count, monaiApplicationChangedEvent.Event); diff --git a/src/InformaticsGateway/Services/Scp/ScpService.cs b/src/InformaticsGateway/Services/Scp/ScpService.cs index bc3d07165..3d015e607 100644 --- a/src/InformaticsGateway/Services/Scp/ScpService.cs +++ b/src/InformaticsGateway/Services/Scp/ScpService.cs @@ -53,10 +53,10 @@ public ScpService(IServiceScopeFactory serviceScopeFactory, IHostApplicationLifetime appLifetime, IOptions<InformaticsGatewayConfiguration> configuration) { - Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); - Guard.Against.Null(applicationEntityManager, nameof(applicationEntityManager)); - Guard.Against.Null(appLifetime, nameof(appLifetime)); - Guard.Against.Null(configuration, nameof(configuration)); + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(applicationEntityManager); + Guard.Against.Null(appLifetime); + Guard.Against.Null(configuration); _serviceScope = serviceScopeFactory.CreateScope(); _associationDataProvider = applicationEntityManager; diff --git a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs index a584b89a0..841b87c94 100644 --- a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs +++ b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs @@ -117,7 +117,7 @@ public Task OnReceiveAssociationReleaseRequestAsync() return SendAssociationReleaseResponseAsync(); } - public Task OnReceiveAssociationRequestAsync(DicomAssociation association) + public async Task OnReceiveAssociationRequestAsync(DicomAssociation association) { Interlocked.Increment(ref ScpService.ActiveConnections); _associationReceived = DateTimeOffset.UtcNow; @@ -136,20 +136,20 @@ public Task OnReceiveAssociationRequestAsync(DicomAssociation association) _loggerScope = _logger?.BeginScope(new LoggingDataDictionary<string, object> { { "Association", associationIdStr } }); _logger?.CStoreAssociationReceived(association.RemoteHost, association.RemotePort); - if (!IsValidSourceAe(association.CallingAE, association.RemoteHost)) + if (!await IsValidSourceAeAsync(association.CallingAE, association.RemoteHost).ConfigureAwait(false)) { - return SendAssociationRejectAsync( + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, - DicomRejectReason.CallingAENotRecognized); + DicomRejectReason.CallingAENotRecognized).ConfigureAwait(false); } - if (!IsValidCalledAe(association.CalledAE)) + if (!await IsValidCalledAeAsync(association.CalledAE).ConfigureAwait(false)) { - return SendAssociationRejectAsync( + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, - DicomRejectReason.CalledAENotRecognized); + DicomRejectReason.CalledAENotRecognized).ConfigureAwait(false); } foreach (var pc in association.PresentationContexts) @@ -159,11 +159,11 @@ public Task OnReceiveAssociationRequestAsync(DicomAssociation association) if (!_associationDataProvider.Configuration.Value.Dicom.Scp.EnableVerification) { _logger?.VerificationServiceDisabled(); - return SendAssociationRejectAsync( + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, DicomRejectReason.ApplicationContextNotSupported - ); + ).ConfigureAwait(false); } pc.AcceptTransferSyntaxes(_associationDataProvider.Configuration.Value.Dicom.Scp.VerificationServiceTransferSyntaxes.ToDicomTransferSyntaxArray()); } @@ -171,29 +171,29 @@ public Task OnReceiveAssociationRequestAsync(DicomAssociation association) { if (!_associationDataProvider.CanStore) { - return SendAssociationRejectAsync( + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, - DicomRejectReason.NoReasonGiven); + DicomRejectReason.NoReasonGiven).ConfigureAwait(false); } // Accept any proposed TS pc.AcceptTransferSyntaxes(pc.GetTransferSyntaxes().ToArray()); } } - return SendAssociationAcceptAsync(association); + await SendAssociationAcceptAsync(association).ConfigureAwait(false); } - private bool IsValidCalledAe(string calledAe) + private async Task<bool> IsValidCalledAeAsync(string calledAe) { - return _associationDataProvider.IsAeTitleConfigured(calledAe); + return await _associationDataProvider.IsAeTitleConfiguredAsync(calledAe).ConfigureAwait(false); } - private bool IsValidSourceAe(string callingAe, string host) + private async Task<bool> IsValidSourceAeAsync(string callingAe, string host) { if (!_associationDataProvider.Configuration.Value.Dicom.Scp.RejectUnknownSources) return true; - return _associationDataProvider.IsValidSource(callingAe, host); + return await _associationDataProvider.IsValidSourceAsync(callingAe, host); } } } diff --git a/src/InformaticsGateway/Services/Scu/ScuQueue.cs b/src/InformaticsGateway/Services/Scu/ScuQueue.cs index 9fd0a7984..8213931b4 100644 --- a/src/InformaticsGateway/Services/Scu/ScuQueue.cs +++ b/src/InformaticsGateway/Services/Scu/ScuQueue.cs @@ -41,7 +41,7 @@ public ScuWorkRequest Dequeue(CancellationToken cancellationToken) public async Task<ScuWorkResponse> Queue(ScuWorkRequest request, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); + Guard.Against.Null(request); _workItems.Add(request, cancellationToken); return await request.WaitAsync(cancellationToken).ConfigureAwait(false); diff --git a/src/InformaticsGateway/Services/Scu/ScuService.cs b/src/InformaticsGateway/Services/Scu/ScuService.cs index 62c8492d9..5154139f8 100644 --- a/src/InformaticsGateway/Services/Scu/ScuService.cs +++ b/src/InformaticsGateway/Services/Scu/ScuService.cs @@ -47,7 +47,7 @@ public ScuService(IServiceScopeFactory serviceScopeFactory, ILogger<ScuService> logger, IOptions<InformaticsGatewayConfiguration> configuration) { - Guard.Against.Null(serviceScopeFactory, nameof(serviceScopeFactory)); + Guard.Against.Null(serviceScopeFactory); _scope = serviceScopeFactory.CreateScope(); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); @@ -105,7 +105,7 @@ private async Task Process(ScuWorkRequest request, CancellationToken cancellatio private async Task<ScuWorkResponse> HandleCEchoRequest(ScuWorkRequest request, CancellationToken cancellationToken) { - Guard.Against.Null(request, nameof(request)); + Guard.Against.Null(request); var scuResponse = new ScuWorkResponse(); var manualResetEvent = new ManualResetEventSlim(); diff --git a/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs b/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs index 1144751d6..43fdb79fb 100644 --- a/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs +++ b/src/InformaticsGateway/Services/Scu/ScuWorkRequest.cs @@ -36,9 +36,9 @@ public class ScuWorkRequest : IDisposable public ScuWorkRequest(string correlationId, RequestType requestType, string hostIp, int port, string aeTitle) { - Guard.Against.NullOrWhiteSpace(correlationId, nameof(correlationId)); - Guard.Against.NullOrWhiteSpace(hostIp, nameof(hostIp)); - Guard.Against.NullOrWhiteSpace(aeTitle, nameof(aeTitle)); + Guard.Against.NullOrWhiteSpace(correlationId); + Guard.Against.NullOrWhiteSpace(hostIp); + Guard.Against.NullOrWhiteSpace(aeTitle); CorrelationId = correlationId; RequestType = requestType; diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs index 50cf597df..0b4ecefa2 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs @@ -39,7 +39,7 @@ public ObjectUploadQueue(ILogger<ObjectUploadQueue> logger) public void Queue(FileStorageMetadata file) { - Guard.Against.Null(file, nameof(file)); + Guard.Against.Null(file); _workItems.Enqueue(file); var process = Process.GetCurrentProcess(); diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 227d3e1d3..3e1cce3ee 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -145,7 +145,7 @@ public Task StopAsync(CancellationToken cancellationToken) private async Task ProcessObject(FileStorageMetadata blob) { - Guard.Against.Null(blob, nameof(blob)); + Guard.Against.Null(blob); using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "File ID", blob.Id }, { "CorrelationId", blob.CorrelationId } }); var stopwatch = new Stopwatch(); @@ -158,12 +158,12 @@ private async Task ProcessObject(FileStorageMetadata blob) case DicomFileStorageMetadata dicom: if (!string.IsNullOrWhiteSpace(dicom.JsonFile.TemporaryPath)) { - await UploadData(dicom.Id, dicom.JsonFile, dicom.Source, dicom.Workflows, _cancellationTokenSource.Token).ConfigureAwait(false); + await UploadFileAndConfirm(dicom.Id, dicom.JsonFile, dicom.Source, dicom.Workflows, _cancellationTokenSource.Token).ConfigureAwait(false); } break; } - await UploadData(blob.Id, blob.File, blob.Source, blob.Workflows, _cancellationTokenSource.Token).ConfigureAwait(false); + await UploadFileAndConfirm(blob.Id, blob.File, blob.Source, blob.Workflows, _cancellationTokenSource.Token).ConfigureAwait(false); } catch (Exception ex) { @@ -176,18 +176,50 @@ private async Task ProcessObject(FileStorageMetadata blob) } } - private async Task UploadData(string identifier, StorageObjectMetadata storageObjectMetadata, string source, List<string> workflows, CancellationToken cancellationToken) + private async Task UploadFileAndConfirm(string identifier, StorageObjectMetadata storageObjectMetadata, string source, List<string> workflows, CancellationToken cancellationToken) { - Guard.Against.NullOrWhiteSpace(identifier, nameof(identifier)); - Guard.Against.Null(storageObjectMetadata, nameof(storageObjectMetadata)); - Guard.Against.NullOrWhiteSpace(source, nameof(source)); - Guard.Against.Null(workflows, nameof(workflows)); + Guard.Against.NullOrWhiteSpace(identifier); + Guard.Against.Null(storageObjectMetadata); + Guard.Against.NullOrWhiteSpace(source); + Guard.Against.Null(workflows); if (storageObjectMetadata.IsUploaded) { return; } + var count = 3; + do + { + await UploadFile(storageObjectMetadata, source, workflows, cancellationToken).ConfigureAwait(false); + if (count-- <= 0) + { + throw new FileUploadException($"Failed to upload file after retries {identifier}."); + } + } while (!(await VerifyExists(storageObjectMetadata.GetTempStoragPath(_configuration.Value.Storage.RemoteTemporaryStoragePath)).ConfigureAwait(false))); + } + + private async Task<bool> VerifyExists(string path) + { + try + { + var result = await _storageService.VerifyObjectExistsAsync( + _configuration.Value.Storage.TemporaryStorageBucket, + new KeyValuePair<string, string>(path, path)).ConfigureAwait(false); + + var exists = result.Key.Equals(path, StringComparison.OrdinalIgnoreCase); + _logger.VerifyFileExists(path, exists); + return exists; + } + catch (Exception ex) + { + _logger.FailedToVerifyFileExistence(path, ex); + throw; + } + } + + private async Task UploadFile(StorageObjectMetadata storageObjectMetadata, string source, List<string> workflows, CancellationToken cancellationToken) + { _logger.UploadingFileToTemporaryStore(storageObjectMetadata.TemporaryPath); var metadata = new Dictionary<string, string> { @@ -217,6 +249,7 @@ await _storageService.PutObjectAsync( storageObjectMetadata.SetUploaded(_configuration.Value.Storage.TemporaryStorageBucket); }) .ConfigureAwait(false); + _logger.UploadedFileToTemporaryStore(storageObjectMetadata.TemporaryPath); } protected virtual void Dispose(bool disposing) diff --git a/src/InformaticsGateway/Test/DummyMessagingService.cs b/src/InformaticsGateway/Test/DummyMessagingService.cs index 5c5b123ac..92c246c5c 100644 --- a/src/InformaticsGateway/Test/DummyMessagingService.cs +++ b/src/InformaticsGateway/Test/DummyMessagingService.cs @@ -48,8 +48,9 @@ internal class DummMessageSubscriberHealthCheck : SubscriberServiceHealthCheckRe internal class DummyMessagingService : IMessageBrokerPublisherService, IMessageBrokerSubscriberService { public string Name => "Dummy Messaging Service"; - +#pragma warning disable CS0067 public event ConnectionErrorHandler OnConnectionError; +#pragma warning restore CS0067 public void Acknowledge(MessageBase message) => throw new NotImplementedException(); diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 21e0c600f..c04041810 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -21,6 +21,7 @@ <RootNamespace>Monai.Deploy.InformaticsGateway.Test</RootNamespace> <IsPackable>false</IsPackable> <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> @@ -35,7 +36,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="NPOI" Version="2.5.6" /> diff --git a/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs deleted file mode 100644 index 5b211cfa6..000000000 --- a/src/InformaticsGateway/Test/Repositories/InferenceRequestRepositoryTest.cs +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Monai.Deploy.InformaticsGateway.Api.Rest; -using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Repositories; -using Monai.Deploy.InformaticsGateway.SharedTest; -using Moq; -using xRetry; -using Xunit; - -namespace Monai.Deploy.InformaticsGateway.Test.Repositories -{ - public class InferenceRequestRepositoryTest - { - private readonly Mock<ILogger<InferenceRequestRepository>> _logger; - private readonly Mock<IInformaticsGatewayRepository<InferenceRequest>> _inferenceRequestRepository; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - - public InferenceRequestRepositoryTest() - { - _logger = new Mock<ILogger<InferenceRequestRepository>>(); - _inferenceRequestRepository = new Mock<IInformaticsGatewayRepository<InferenceRequest>>(); - _options = Options.Create(new InformaticsGatewayConfiguration()); - - _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; - - _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); - } - - [RetryFact(5, 250, DisplayName = "Constructor")] - public void ConstructorTest() - { - Assert.Throws<ArgumentNullException>(() => new InferenceRequestRepository(null, null, null)); - Assert.Throws<ArgumentNullException>(() => new InferenceRequestRepository(_logger.Object, null, null)); - Assert.Throws<ArgumentNullException>(() => new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, null)); - - _ = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - } - - [RetryFact(5, 250, DisplayName = "Add - Shall retry on failure")] - public async Task Add_ShallRetryOnFailure() - { - _inferenceRequestRepository.Setup(p => p.AddAsync(It.IsAny<InferenceRequest>(), It.IsAny<CancellationToken>())) - .Throws(new Exception("error")); - - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString() - }; - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - - await Assert.ThrowsAsync<Exception>(async () => await store.Add(inferenceRequest)); - - _logger.VerifyLoggingMessageBeginsWith($"Error saving inference request", LogLevel.Error, Times.Exactly(3)); - _inferenceRequestRepository.Verify(p => p.AddAsync(It.IsAny<InferenceRequest>(), It.IsAny<CancellationToken>()), Times.AtLeast(3)); - } - - [RetryFact(5, 250, DisplayName = "Add - Shall add new job")] - public async Task Add_ShallAddJob() - { - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString() - }; - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - await store.Add(inferenceRequest); - - _inferenceRequestRepository.Verify(p => p.AddAsync(It.IsAny<InferenceRequest>(), It.IsAny<CancellationToken>()), Times.Once()); - _inferenceRequestRepository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - _logger.VerifyLoggingMessageBeginsWith($"Inference request saved.", LogLevel.Debug, Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Update - Shall retry on failure")] - public async Task UpdateSuccess_ShallRetryOnFailure() - { - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString() - }; - - _inferenceRequestRepository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())).Throws(new Exception("error")); - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - - await Assert.ThrowsAsync<Exception>(() => store.Update(inferenceRequest, InferenceRequestStatus.Success)); - - _logger.VerifyLoggingMessageBeginsWith($"Error while updating inference request", LogLevel.Error, Times.Exactly(3)); - _inferenceRequestRepository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.AtLeast(3)); - } - - [RetryFact(5, 250, DisplayName = "Update - Shall mark job as filed and save")] - public async Task UpdateSuccess_ShallFailAndSave() - { - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString(), - TryCount = 3 - }; - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - - await store.Update(inferenceRequest, InferenceRequestStatus.Fail); - - _logger.VerifyLogging($"Updating inference request.", LogLevel.Debug, Times.Once()); - _logger.VerifyLogging($"Inference request updated.", LogLevel.Information, Times.Once()); - _logger.VerifyLogging($"Exceeded maximum retries.", LogLevel.Warning, Times.Once()); - _inferenceRequestRepository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Update - Shall save")] - public async Task UpdateSuccess_ShallSave() - { - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString() - }; - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - - await store.Update(inferenceRequest, InferenceRequestStatus.Fail); - - _logger.VerifyLogging($"Updating inference request.", LogLevel.Debug, Times.Once()); - _logger.VerifyLogging($"Inference request updated.", LogLevel.Information, Times.Once()); - _logger.VerifyLogging($"Will retry later.", LogLevel.Information, Times.Once()); - _inferenceRequestRepository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Take - Shall return next queued")] - public async Task Take_ShallReturnQueuedItem() - { - var inferenceRequest = new InferenceRequest - { - TransactionId = Guid.NewGuid().ToString() - }; - var cancellationSource = new CancellationTokenSource(); - - _inferenceRequestRepository.SetupSequence(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>())) - .Returns(inferenceRequest); - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - - _ = await store.Take(cancellationSource.Token); - - _logger.VerifyLogging($"Updating request {inferenceRequest.TransactionId} to InProgress.", LogLevel.Debug, Times.AtLeastOnce()); - } - - [RetryFact(5, 250, DisplayName = "Take - Shall throw when cancelled")] - public async Task Take_ShallThrowWhenCancelled() - { - var cancellationSource = new CancellationTokenSource(); - _inferenceRequestRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>())) - .Returns(default(InferenceRequest)); - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - cancellationSource.CancelAfter(100); - await Assert.ThrowsAsync<TaskCanceledException>(async () => await store.Take(cancellationSource.Token)); - } - - [RetryFact(5, 250, DisplayName = "Exists - throws if no arguments provided")] - public void Exists_ThrowsIfNoArgumentsProvided() - { - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - Assert.Throws<ArgumentException>(() => store.Exists(string.Empty)); - } - - [RetryFact(5, 250, DisplayName = "Exists - returns true")] - public void Exists_ReturnsTrue() - { - _inferenceRequestRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>())) - .Returns(new InferenceRequest()); - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - Assert.True(store.Exists("abc")); - _inferenceRequestRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>()), Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Get transationId - throws if no arguments provided")] - public void GetTransactionId_ThrowsIfNoArgumentsProvided() - { - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - Assert.Throws<ArgumentException>(() => store.GetInferenceRequest(string.Empty)); - } - - [RetryFact(5, 250, DisplayName = "Get inferenceRequestId - throws if no arguments provided")] - public async Task GetInferenceRequestId_ThrowsIfNoArgumentsProvided() - { - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - await Assert.ThrowsAsync<ArgumentException>(async () => await store.GetInferenceRequest(Guid.Empty)); - } - - [RetryFact(5, 250, DisplayName = "Get - retrieves by transationId")] - public void Get_RetrievesByJobId() - { - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - _ = store.GetInferenceRequest("id"); - _inferenceRequestRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>()), Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Get - retrieves by inferenceRequestId")] - public void Get_RetrievesByPayloadId() - { - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - var id = Guid.NewGuid(); - _ = store.GetInferenceRequest(id); - _inferenceRequestRepository.Verify(p => p.FindAsync(It.IsAny<object[]>()), Times.Once()); - } - - [RetryFact(5, 250, DisplayName = "Status - retrieves by transaction id")] - public async Task Status_RetrievesByTransactionId() - { - _inferenceRequestRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>())) - .Returns(new InferenceRequest - { - TransactionId = "My Transaction ID", - }); - - var store = new InferenceRequestRepository(_logger.Object, _inferenceRequestRepository.Object, _options); - var id = Guid.NewGuid().ToString(); - var status = await store.GetStatus(id); - - Assert.Equal("My Transaction ID", status.TransactionId); - - _inferenceRequestRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<InferenceRequest, bool>>()), Times.Once()); - } - } -} diff --git a/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs deleted file mode 100644 index 51798e112..000000000 --- a/src/InformaticsGateway/Test/Repositories/InformaticsGatewayRepositoryTest.cs +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 2021-2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework; -using Moq; -using xRetry; -using Xunit; - -namespace Monai.Deploy.InformaticsGateway.Test.Repositories -{ - public class InformaticsGatewayRepositoryTest : IClassFixture<DatabaseFixture> - { - private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; - public DatabaseFixture Fixture { get; } - - public InformaticsGatewayRepositoryTest(DatabaseFixture fixture) - { - Fixture = fixture; - - var serviceProvider = new Mock<IServiceProvider>(); - serviceProvider - .Setup(x => x.GetService(typeof(InformaticsGatewayContext))) - .Returns(Fixture.DbContext); - - var scope = new Mock<IServiceScope>(); - scope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); - - _serviceScopeFactory = new Mock<IServiceScopeFactory>(); - _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(scope.Object); - } - - [Fact(DisplayName = "Constructor")] - public void Constructor() - { - Assert.Throws<ArgumentNullException>(() => new InformaticsGatewayRepository<SourceApplicationEntity>(null)); - } - - [RetryFact(5, 250, DisplayName = "AsQueryable - returns IQueryable")] - public void AsQueryable() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var result = repo.AsQueryable(); - - Assert.True(result is IQueryable<SourceApplicationEntity>); - } - - [RetryFact(5, 250, DisplayName = "AsQueryable - returns List")] - public async Task ToListAsync() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var result = await repo.ToListAsync(); - - Assert.True(result is List<SourceApplicationEntity>); - } - - [RetryFact(5, 250, DisplayName = "FindAsync - lookup by key")] - public async Task FindAsync() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var result = await repo.FindAsync("AET5"); - - Assert.NotNull(result); - Assert.Equal("AET5", result.Name); - Assert.Equal("AET5", result.AeTitle); - Assert.Equal("5.5.5.5", result.HostIp); - } - - [RetryFact(5, 250, DisplayName = "Update")] - public async Task Update() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var key = "AET2"; - var result = await repo.FindAsync(key); - Assert.NotNull(result); - - result.HostIp = "20.20.20.20"; - repo.Update(result); - await repo.SaveChangesAsync(); - var updated = await repo.FindAsync(key); - - Assert.Equal(result, updated); - } - - [RetryFact(5, 250, DisplayName = "Remove")] - public async Task Remove() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - for (int i = 8; i <= 10; i++) - { - var key = $"AET{i}"; - var result = await repo.FindAsync(key); - repo.Remove(result); - await repo.SaveChangesAsync(); - } - - for (int i = 8; i <= 10; i++) - { - var key = $"AET{i}"; - Assert.Null(await repo.FindAsync(key)); - } - } - - [RetryFact(5, 250, DisplayName = "AddAsync")] - public async Task AddAsync() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - for (int i = 11; i <= 20; i++) - { - await repo.AddAsync(new SourceApplicationEntity - { - Name = $"AET{i}", - AeTitle = $"AET{i}", - HostIp = $"Server{i}", - }); - } - await repo.SaveChangesAsync(); - - for (int i = 11; i <= 20; i++) - { - var notNull = await repo.FindAsync($"AET{i}"); - Assert.NotNull(notNull); - } - } - - [RetryFact(5, 250, DisplayName = "FirstOrDefault")] - public void FirstOrDefault() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var exists = repo.FirstOrDefault(p => p.HostIp == "1.1.1.1"); - Assert.NotNull(exists); - - var doesNotexist = repo.FirstOrDefault(p => p.AeTitle == "ABC"); - Assert.Null(doesNotexist); - } - - [RetryFact(5, 250, DisplayName = "Detach")] - public async Task Detach() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var toBeModified = await repo.FindAsync("AET1"); - repo.Detach(toBeModified); - toBeModified.Name = "TEST"; - - var existing = await repo.FindAsync("AET1"); - Assert.NotEqual(existing.Name, toBeModified.Name); - } - - [RetryFact(5, 250, DisplayName = "Any")] - public void Any() - { - var repo = new InformaticsGatewayRepository<SourceApplicationEntity>(_serviceScopeFactory.Object); - - var all = repo.Any(p => p.Name.StartsWith("AET")); - Assert.True(all); - } - } - - public class DatabaseFixture : IDisposable - { - private bool _disposedValue; - - public InformaticsGatewayContext DbContext { get; } - - public DatabaseFixture() - { - DbContext = GetDatabaseContext(); - } - - public static InformaticsGatewayContext GetDatabaseContext() - { - var options = new DbContextOptionsBuilder<InformaticsGatewayContext>() - .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) - .Options; - - var databaseContext = new InformaticsGatewayContext(options); - databaseContext.Database.EnsureDeleted(); - databaseContext.Database.EnsureCreated(); - if (!databaseContext.SourceApplicationEntities.Any()) - { - for (int i = 1; i <= 10; i++) - { - databaseContext.SourceApplicationEntities.Add( - new SourceApplicationEntity - { - Name = $"AET{i}", - AeTitle = $"AET{i}", - HostIp = $"{i}.{i}.{i}.{i}" - }); - } - } - databaseContext.SaveChanges(); - return databaseContext; - } - - protected virtual void Dispose(bool disposing) - { - if (!_disposedValue) - { - if (disposing) - { - DbContext.Dispose(); - } - - _disposedValue = true; - } - } - - public void Dispose() - { - // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method - Dispose(disposing: true); - GC.SuppressFinalize(this); - } - } -} diff --git a/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs b/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs deleted file mode 100644 index f1c3ebd8d..000000000 --- a/src/InformaticsGateway/Test/Repositories/StorageInfoWrapperRepositoryTest.cs +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright 2022 MONAI Consortium - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.Json; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Options; -using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; -using Monai.Deploy.InformaticsGateway.Repositories; -using Moq; -using Xunit; - -namespace Monai.Deploy.InformaticsGateway.Test.Repositories -{ - public class StorageMetadataWrapperRepositoryTest - { - private readonly Mock<ILogger<StorageMetadataWrapperRepository>> _logger; - private readonly Mock<IInformaticsGatewayRepository<StorageMetadataWrapper>> _repository; - private readonly IOptions<InformaticsGatewayConfiguration> _options; - - public StorageMetadataWrapperRepositoryTest() - { - _logger = new Mock<ILogger<StorageMetadataWrapperRepository>>(); - _repository = new Mock<IInformaticsGatewayRepository<StorageMetadataWrapper>>(); - _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); - - _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; - _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); - } - - [Fact] - public void GivenStorageMetadataWrapperRepositoryType_WhenInitialized_TheConstructorShallGuardAllParameters() - { - Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(null, null, null)); - Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, null)); - Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_logger.Object, null, null)); - - _ = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - } - - [Fact] - public async Task GivenADicomStorageMetadataObject_WhenSavingToDatabaseWithException_ExpectAddAsyncToAttemptRetries() - { - _repository.Setup(p => p.AddAsync(It.IsAny<StorageMetadataWrapper>(), It.IsAny<CancellationToken>())) - .Throws(new Exception("error")); - - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - - await Assert.ThrowsAsync<Exception>(async () => await store.AddAsync(metadata)); - - _repository.Verify(p => p.AddAsync(It.IsAny<StorageMetadataWrapper>(), It.IsAny<CancellationToken>()), Times.AtLeast(3)); - } - - [Fact] - public async Task GivenADicomStorageMetadataObject_WhenAddingToDatabase_ExpectItToBeSaved() - { - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - var json = JsonSerializer.Serialize(metadata); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - await store.AddAsync(metadata); - - _repository.Verify(p => p.AddAsync(It.IsAny<StorageMetadataWrapper>(), It.IsAny<CancellationToken>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - } - - [Fact] - public async Task GivenADicomStorageMetadataObject_WhenSavingToDatabaseWithException_ExpectUpdateAsyncToAttemptRetries() - { - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(new StorageMetadataWrapper(metadata)); - - _repository.Setup(p => p.Update(It.IsAny<StorageMetadataWrapper>())) - .Throws(new Exception("error")); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - await store.AddAsync(metadata); - metadata.SetWorkflows("A", "B", "C"); - metadata.File.SetUploaded("bucket"); - - await Assert.ThrowsAsync<Exception>(async () => await store.UpdateAsync(metadata)); - - _repository.Verify(p => p.Update(It.IsAny<StorageMetadataWrapper>()), Times.AtLeast(3)); - } - - [Fact] - public async Task GivenANonExistedDicomStorageMetadataObject_WhenSavedToDatabase_ThrowsArgumentException() - { - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(default(StorageMetadataWrapper)); - - _repository.Setup(p => p.Update(It.IsAny<StorageMetadataWrapper>())); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - await store.AddOrUpdateAsync(metadata); - metadata.SetWorkflows("A", "B", "C"); - metadata.File.SetUploaded("bucket"); - - await Assert.ThrowsAsync<ArgumentException>(async () => await store.UpdateAsync(metadata)); - - _repository.Verify(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>()), Times.AtLeast(3)); - _repository.Verify(p => p.Update(It.IsAny<StorageMetadataWrapper>()), Times.Never()); - } - - [Fact] - public async Task GivenAnExistingDicomStorageMetadataObject_WhenUpdated_ExpectItToBeSaved() - { - var metadata = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(new StorageMetadataWrapper(metadata)); - - _repository.Setup(p => p.Update(It.IsAny<StorageMetadataWrapper>())); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - await store.AddAsync(metadata); - metadata.SetWorkflows("A", "B", "C"); - metadata.File.SetUploaded("bucket"); - - await store.AddOrUpdateAsync(metadata); - - _repository.Verify(p => p.Update(It.IsAny<StorageMetadataWrapper>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Exactly(2)); - } - - [Fact] - public async Task GivenStorageMetadataObjects_WhenDeletingPendingUploadsObject_ExpectAllPendingObjectsToBeDeleted() - { - var pending = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - var uploaded = new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - uploaded.File.SetUploaded("bucket"); - uploaded.JsonFile.SetUploaded("bucket"); - - var files = new List<StorageMetadataWrapper> { new StorageMetadataWrapper(pending), new StorageMetadataWrapper(uploaded) }; - - _repository.Setup(p => p.AsQueryable()).Returns(files.AsQueryable()); - - _repository.Setup(p => p.Update(It.IsAny<StorageMetadataWrapper>())); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - await store.DeletePendingUploadsAsync(); - - _repository.Verify(p => p.RemoveRange(It.Is<StorageMetadataWrapper[]>(p => p.Count() == 1)), Times.Once()); - _repository.Verify(p => p.RemoveRange(It.Is<StorageMetadataWrapper[]>(p => p.First().Identity == pending.Id)), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - } - - [Fact] - public void GivenACorrelationId_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() - { - var correlationId = Guid.NewGuid().ToString(); - var list = new List<StorageMetadataWrapper>{ - new StorageMetadataWrapper( - new DicomFileStorageMetadata( - correlationId, - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString())), - new StorageMetadataWrapper( - new DicomFileStorageMetadata( - correlationId, - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString())), - new StorageMetadataWrapper( - new DicomFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString())), - new StorageMetadataWrapper( - new FhirFileStorageMetadata( - correlationId, - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Api.Rest.FhirStorageFormat.Json)), - new StorageMetadataWrapper( - new FhirFileStorageMetadata( - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Api.Rest.FhirStorageFormat.Json)), - }; - _repository.Setup(p => p.AsQueryable()) - .Returns(list.AsQueryable()); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - var results = store.GetFileStorageMetdadata(correlationId); - - Assert.Equal(3, results.Count); - } - - [Fact] - public void GivenACorrelationIdAndAnIdentity_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() - { - var correlationId = Guid.NewGuid().ToString(); - var identifier = Guid.NewGuid().ToString(); - var expected = new DicomFileStorageMetadata( - correlationId, - identifier, - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(new StorageMetadataWrapper(expected)); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - var match = store.GetFileStorageMetdadata(correlationId, identifier); - - Assert.Equal(expected.Id, match.Id); - Assert.Equal(expected.CorrelationId, match.CorrelationId); - } - - [Fact] - public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalled_ExpectMatchingInstanceToBeDeleted() - { - var correlationId = Guid.NewGuid().ToString(); - var identifier = Guid.NewGuid().ToString(); - var expected = new DicomFileStorageMetadata( - correlationId, - identifier, - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString(), - Guid.NewGuid().ToString()); - - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(new StorageMetadataWrapper(expected)); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - var result = await store.DeleteAsync(correlationId, identifier); - - Assert.True(result); - - _repository.Verify(p => p.Remove(It.IsAny<StorageMetadataWrapper>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); - } - - [Fact] - public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalledWithoutAMatch_ExpectNothingIsDeleted() - { - var correlationId = Guid.NewGuid().ToString(); - var identifier = Guid.NewGuid().ToString(); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<StorageMetadataWrapper, bool>>())) - .Returns(default(StorageMetadataWrapper)); - - var store = new StorageMetadataWrapperRepository(_logger.Object, _repository.Object, _options); - var result = await store.DeleteAsync(correlationId, identifier); - - Assert.False(result); - - _repository.Verify(p => p.Remove(It.IsAny<StorageMetadataWrapper>()), Times.Never()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Never()); - } - } -} diff --git a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs index 5eeb5724e..1e6694b15 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/DataRetrievalServiceTest.cs @@ -32,9 +32,8 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -52,7 +51,7 @@ public class DataRetrievalServiceTest private readonly Mock<IHttpClientFactory> _httpClientFactory; private readonly Mock<ILoggerFactory> _loggerFactory; - private readonly Mock<IStorageMetadataWrapperRepository> _storageMetadataWrapperRepository; + private readonly Mock<IStorageMetadataRepository> _storageMetadataWrapperRepository; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IDicomToolkit> _dicomToolkit; @@ -73,7 +72,7 @@ public DataRetrievalServiceTest() _logger = new Mock<ILogger<DataRetrievalService>>(); _inferenceRequestStore = new Mock<IInferenceRequestRepository>(); _loggerDicomWebClient = new Mock<ILogger<DicomWebClient>>(); - _storageMetadataWrapperRepository = new Mock<IStorageMetadataWrapperRepository>(); + _storageMetadataWrapperRepository = new Mock<IStorageMetadataRepository>(); _payloadAssembler = new Mock<IPayloadAssembler>(); _serviceScopeFactory = new Mock<IServiceScopeFactory>(); _uploadQueue = new Mock<IObjectUploadQueue>(); @@ -195,10 +194,10 @@ public async Task GivenAInferenceRequestWithFromTheDatabaseWithPendingDownloads_ new DicomFileStorageMetadata(Guid.NewGuid().ToString(),Guid.NewGuid().ToString(),Guid.NewGuid().ToString(),Guid.NewGuid().ToString(),Guid.NewGuid().ToString()), new FhirFileStorageMetadata(Guid.NewGuid().ToString(),Guid.NewGuid().ToString(),Guid.NewGuid().ToString(), FhirStorageFormat.Json) }; - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(restoredFile); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(restoredFile); - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -286,7 +285,7 @@ public async Task GivenAnInferenceRequest_WhenItCompletesRetrievalWithoutAnyFile #endregion Test Data - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -311,8 +310,8 @@ public async Task GivenAnInferenceRequest_WhenItCompletesRetrievalWithoutAnyFile _httpClientFactory.Setup(p => p.CreateClient(It.IsAny<string>())) .Returns(new HttpClient(_handlerMock.Object)); - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(new List<FileStorageMetadata>()); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new List<FileStorageMetadata>()); var store = new DataRetrievalService(_logger.Object, _serviceScopeFactory.Object, _options); @@ -413,7 +412,7 @@ public async Task GivenAnInferenceRequestWithDicomUids_WhenProcessing_ExpectAllI #endregion Test Data - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -436,8 +435,8 @@ public async Task GivenAnInferenceRequestWithDicomUids_WhenProcessing_ExpectAllI _httpClientFactory.Setup(p => p.CreateClient(It.IsAny<string>())) .Returns(new HttpClient(_handlerMock.Object)); - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(new List<FileStorageMetadata>()); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new List<FileStorageMetadata>()); _dicomToolkit.Setup(p => p.GetStudySeriesSopInstanceUids(It.IsAny<DicomFile>())) .Returns((DicomFile dicomFile) => new StudySerieSopUids @@ -507,7 +506,7 @@ public async Task GivenAnInferenceRequestWithPatientId_WhenProcessing_ExpectAllI #endregion Test Data - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -543,8 +542,8 @@ public async Task GivenAnInferenceRequestWithPatientId_WhenProcessing_ExpectAllI _httpClientFactory.Setup(p => p.CreateClient(It.IsAny<string>())) .Returns(new HttpClient(_handlerMock.Object)); - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(new List<FileStorageMetadata>()); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new List<FileStorageMetadata>()); _dicomToolkit.Setup(p => p.GetStudySeriesSopInstanceUids(It.IsAny<DicomFile>())) .Returns((DicomFile dicomFile) => new StudySerieSopUids @@ -625,7 +624,7 @@ public async Task GivenAnInferenceRequestWithAccessionNumber_WhenProcessing_Expe #endregion Test Data - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -661,8 +660,8 @@ public async Task GivenAnInferenceRequestWithAccessionNumber_WhenProcessing_Expe _httpClientFactory.Setup(p => p.CreateClient(It.IsAny<string>())) .Returns(new HttpClient(_handlerMock.Object)); - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(new List<FileStorageMetadata>()); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new List<FileStorageMetadata>()); _dicomToolkit.Setup(p => p.GetStudySeriesSopInstanceUids(It.IsAny<DicomFile>())) .Returns((DicomFile dicomFile) => new StudySerieSopUids @@ -765,7 +764,7 @@ public async Task GivenAnInferenceRequestWithFhirResources_WhenProcessing_Expect #endregion Test Data - _inferenceRequestStore.SetupSequence(p => p.Take(It.IsAny<CancellationToken>())) + _inferenceRequestStore.SetupSequence(p => p.TakeAsync(It.IsAny<CancellationToken>())) .Returns(Task.FromResult(request)) .Returns(() => { @@ -784,8 +783,8 @@ public async Task GivenAnInferenceRequestWithFhirResources_WhenProcessing_Expect _httpClientFactory.Setup(p => p.CreateClient(It.IsAny<string>())) .Returns(new HttpClient(_handlerMock.Object)); - _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadata(It.IsAny<string>())) - .Returns(new List<FileStorageMetadata>()); + _storageMetadataWrapperRepository.Setup(p => p.GetFileStorageMetdadataAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(new List<FileStorageMetadata>()); var store = new DataRetrievalService(_logger.Object, _serviceScopeFactory.Object, _options); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs index 6da08a10f..82a62c62d 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadAssemblerTest.cs @@ -15,8 +15,6 @@ */ using System; -using System.Collections.Generic; -using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; @@ -24,7 +22,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.SharedTest; using Moq; @@ -39,21 +37,21 @@ public class PayloadAssemblerTest private readonly Mock<ILogger<PayloadAssembler>> _logger; private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; - private readonly Mock<IInformaticsGatewayRepository<Payload>> _repository; + private readonly Mock<IPayloadRepository> _repository; private readonly CancellationTokenSource _cancellationTokenSource; public PayloadAssemblerTest() { _serviceScopeFactory = new Mock<IServiceScopeFactory>(); - _repository = new Mock<IInformaticsGatewayRepository<Payload>>(); + _repository = new Mock<IPayloadRepository>(); _options = Options.Create(new InformaticsGatewayConfiguration()); _logger = new Mock<ILogger<PayloadAssembler>>(); _cancellationTokenSource = new CancellationTokenSource(); var serviceProvider = new Mock<IServiceProvider>(); serviceProvider - .Setup(x => x.GetService(typeof(IInformaticsGatewayRepository<Payload>))) + .Setup(x => x.GetService(typeof(IPayloadRepository))) .Returns(_repository.Object); var scope = new Mock<IServiceScope>(); @@ -91,23 +89,14 @@ public async Task GivenAFileStorageMetadata_WhenQueueingWihtoutSpecifyingATimeou [RetryFact(10, 200)] public async Task GivenFileStorageMetadataInTheDatabase_AtServiceStartup_ExpectPayloadsInCreatedStateToBeRemoved() { - var dataset = new List<Payload> - { - new Payload("created-test1", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Created }, - new Payload("created-test2", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Created }, - new Payload("upload-test", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Move }, - new Payload("notify-test", Guid.NewGuid().ToString(), 10) { State = Payload.PayloadState.Notify }, - }; - - _repository.Setup(p => p.AsQueryable()).Returns(dataset.AsQueryable()); - _repository.Setup(p => p.Remove(It.IsAny<Payload>())); + _repository.Setup(p => p.RemovePendingPayloadsAsync(It.IsAny<CancellationToken>())); var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); await Task.Delay(250); payloadAssembler.Dispose(); _cancellationTokenSource.Cancel(); - _repository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.Exactly(2)); + _repository.Verify(p => p.RemovePendingPayloadsAsync(It.IsAny<CancellationToken>()), Times.AtLeastOnce()); } [RetryFact(10, 200)] @@ -126,49 +115,19 @@ public async Task GivenAPayloadAssembler_WhenDisposed_ExpectResourceToBeCleanedU _logger.VerifyLoggingMessageBeginsWith($"Number of collections in queue", LogLevel.Trace, Times.Never()); } - [RetryFact(10, 200)] - public async Task GivenFileStorageMetadata_WhenQueueingWithDatabaseError_ExpectToRetryXTimes() - { - int callCount = 0; - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())).Callback(() => - { - if (++callCount >= _options.Value.Database.Retries.DelaysMilliseconds.Length + 1) - { - _cancellationTokenSource.CancelAfter(1200); - return; - } - if (callCount != 0) - { - throw new Exception("error"); - } - }); - - var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); - - await payloadAssembler.Queue("A", new TestStorageInfo(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "file1", ".txt"), 1); - _cancellationTokenSource.Token.WaitHandle.WaitOne(); - payloadAssembler.Dispose(); - - _logger.VerifyLoggingMessageBeginsWith($"Number of incomplete payloads waiting for processing: 1.", LogLevel.Trace, Times.AtLeastOnce()); - } - [RetryFact(10, 200)] public async Task GivenAPayloadThatHasNotCompleteUploads_WhenProcessedByTimedEvent_ExpectToBeAddedToQueue() { - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())).Callback(() => - { - _cancellationTokenSource.CancelAfter(1500); - }); var payloadAssembler = new PayloadAssembler(_options, _logger.Object, _serviceScopeFactory.Object); var file = new TestStorageInfo(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "file1", ".txt"); + file.File.SetUploaded("bucket"); await payloadAssembler.Queue("A", file, 1); await Task.Delay(1001); payloadAssembler.Dispose(); - _logger.VerifyLoggingMessageBeginsWith($"Number of incomplete payloads waiting for processing: 1.", LogLevel.Trace, Times.AtLeastOnce()); - _logger.VerifyLoggingMessageBeginsWith($"Bucket A sent to processing queue", LogLevel.Information, Times.Never()); + _repository.Verify(p => p.UpdateAsync(It.Is<Payload>(p => p.State == Payload.PayloadState.Move), It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(10, 200)] diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs index 8dfe7de9d..a0e2ea4b9 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.Storage.API; using Moq; @@ -40,7 +40,7 @@ public class PayloadMoveActionHandlerTest private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly Mock<IStorageService> _storageService; - private readonly Mock<IInformaticsGatewayRepository<Payload>> _repository; + private readonly Mock<IPayloadRepository> _repository; private readonly Mock<IServiceScope> _serviceScope; private readonly ServiceProvider _serviceProvider; @@ -53,7 +53,7 @@ public PayloadMoveActionHandlerTest() _options = Options.Create(new InformaticsGatewayConfiguration()); _storageService = new Mock<IStorageService>(); - _repository = new Mock<IInformaticsGatewayRepository<Payload>>(); + _repository = new Mock<IPayloadRepository>(); _serviceScope = new Mock<IServiceScope>(); var services = new ServiceCollection(); @@ -68,6 +68,9 @@ public PayloadMoveActionHandlerTest() _options.Value.Storage.Retries.DelaysMilliseconds = new[] { 5, 5, 5 }; _options.Value.Storage.StorageServiceBucketName = "bucket"; + + _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<KeyValuePair<string, string>>())) + .Returns((string _, KeyValuePair<string, string> input) => Task.FromResult(input)); } [RetryFact(10, 200)] @@ -172,7 +175,7 @@ public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToC await handler.MoveFilesAsync(payload, moveAction, notifyAction, _cancellationTokenSource.Token); - _repository.Verify(p => p.Remove(payload), Times.Once()); + _repository.Verify(p => p.RemoveAsync(payload, _cancellationTokenSource.Token), Times.Once()); } [RetryFact(10, 200)] @@ -203,7 +206,7 @@ public async Task GivenAPayload_WhenAllFilesAreMove_ExpectPayloadToBeAddedToNoti await handler.MoveFilesAsync(payload, moveAction, notifyAction, _cancellationTokenSource.Token); - Assert.True(notifyEvent.Wait(TimeSpan.FromSeconds(3))); + Assert.True(notifyEvent.Wait(TimeSpan.FromSeconds(5))); _storageService.Verify(p => p.CopyObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>()), Times.AtLeast(2)); _storageService.Verify(p => p.RemoveObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>()), Times.AtLeast(2)); diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs index 1f6f9d780..0066a4fd1 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationActionHandlerTest.cs @@ -24,7 +24,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.Messaging.API; using Monai.Deploy.Messaging.Messages; @@ -40,7 +40,7 @@ public class PayloadNotificationActionHandlerTest private readonly IOptions<InformaticsGatewayConfiguration> _options; private readonly Mock<IMessageBrokerPublisherService> _messageBrokerPublisherService; - private readonly Mock<IInformaticsGatewayRepository<Payload>> _informaticsGatewayReepository; + private readonly Mock<IPayloadRepository> _repository; private readonly Mock<IServiceScope> _serviceScope; private readonly ServiceProvider _serviceProvider; @@ -53,12 +53,12 @@ public PayloadNotificationActionHandlerTest() _options = Options.Create(new InformaticsGatewayConfiguration()); _messageBrokerPublisherService = new Mock<IMessageBrokerPublisherService>(); - _informaticsGatewayReepository = new Mock<IInformaticsGatewayRepository<Payload>>(); + _repository = new Mock<IPayloadRepository>(); _serviceScope = new Mock<IServiceScope>(); var services = new ServiceCollection(); services.AddScoped(p => _messageBrokerPublisherService.Object); - services.AddScoped(p => _informaticsGatewayReepository.Object); + services.AddScoped(p => _repository.Object); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); @@ -165,7 +165,7 @@ public async Task GivenAPayloadThatHasReachedMaximumRetries_WhenHandlerFailedToP await handler.NotifyAsync(payload, notifyAction, _cancellationTokenSource.Token); - _informaticsGatewayReepository.Verify(p => p.Remove(payload), Times.Once()); + _repository.Verify(p => p.RemoveAsync(payload, _cancellationTokenSource.Token), Times.Once()); } [Fact] @@ -192,7 +192,7 @@ public async Task GivenAPayload_WhenMessageIsPublished_ExpectPayloadToBeDeleted( await handler.NotifyAsync(payload, notifyAction, _cancellationTokenSource.Token); _messageBrokerPublisherService.Verify(p => p.Publish(It.IsAny<string>(), It.IsAny<Message>()), Times.AtLeastOnce()); - _informaticsGatewayReepository.Verify(p => p.Remove(It.IsAny<Payload>()), Times.AtLeastOnce()); + _repository.Verify(p => p.RemoveAsync(payload, _cancellationTokenSource.Token), Times.AtLeastOnce()); } } } diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs index 1aa87f2f3..45f405bac 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadNotificationServiceTest.cs @@ -25,7 +25,7 @@ using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Connectors; using Monai.Deploy.InformaticsGateway.SharedTest; using Monai.Deploy.Messaging.API; @@ -47,7 +47,7 @@ public class PayloadNotificationServiceTest private readonly Mock<IMessageBrokerPublisherService> _messageBrokerPublisherService; private readonly Mock<IPayloadNotificationActionHandler> _payloadNotificationActionHandler; private readonly Mock<IPayloadMoveActionHandler> _payloadMoveActionHandler; - private readonly Mock<IInformaticsGatewayRepository<Payload>> _payloadRepository; + private readonly Mock<IPayloadRepository> _payloadRepository; private readonly CancellationTokenSource _cancellationTokenSource; private readonly Mock<IServiceScope> _serviceScope; @@ -63,7 +63,7 @@ public PayloadNotificationServiceTest() _messageBrokerPublisherService = new Mock<IMessageBrokerPublisherService>(); _payloadNotificationActionHandler = new Mock<IPayloadNotificationActionHandler>(); _payloadMoveActionHandler = new Mock<IPayloadMoveActionHandler>(); - _payloadRepository = new Mock<IInformaticsGatewayRepository<Payload>>(); + _payloadRepository = new Mock<IPayloadRepository>(); _cancellationTokenSource = new CancellationTokenSource(); _serviceScope = new Mock<IServiceScope>(); @@ -104,6 +104,7 @@ public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_Expec return payload; }); + _payloadRepository.Setup(p => p.GetPayloadsInStateAsync(It.IsAny<CancellationToken>(), It.IsAny<Payload.PayloadState[]>())).ReturnsAsync(new List<Payload>()); var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); await service.StartAsync(_cancellationTokenSource.Token); @@ -113,11 +114,11 @@ public async Task GivenThePayloadNotificationService_WhenStopAsyncIsCalled_Expec _logger.VerifyLogging($"{service.ServiceName} is stopping.", LogLevel.Information, Times.Once()); _logger.VerifyLogging($"Waiting for {service.ServiceName} to stop.", LogLevel.Information, Times.Once()); - _logger.VerifyLogging($"Uploading payload {payload.Id} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Never()); + _logger.VerifyLogging($"Uploading payload {payload.PayloadId} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Never()); } [RetryFact(10, 200)] - public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloadsToBeRestored() + public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloadsToBeRestoredAsync() { var testData = new List<Payload> { @@ -126,13 +127,13 @@ public void GivenPayloadsStoredInTheDatabase_WhenServiceStarts_ExpectThePayloads new Payload("notification-test", Guid.NewGuid().ToString(), 10) {State = Payload.PayloadState.Notify}, }; - _payloadRepository.Setup(p => p.AsQueryable()) - .Returns(testData.AsQueryable()) - .Callback(() => _cancellationTokenSource.CancelAfter(500)); + _payloadRepository.Setup(p => p.GetPayloadsInStateAsync(It.IsAny<CancellationToken>(), It.IsAny<Payload.PayloadState[]>())) + .Callback(() => _cancellationTokenSource.CancelAfter(500)) + .ReturnsAsync(testData); var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); - service.StartAsync(_cancellationTokenSource.Token); + _ = service.StartAsync(_cancellationTokenSource.Token); _cancellationTokenSource.Token.WaitHandle.WaitOne(); _payloadMoveActionHandler.Verify(p => p.MoveFilesAsync(It.IsAny<Payload>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<CancellationToken>()), Times.AtLeastOnce()); @@ -151,9 +152,10 @@ public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTh .Callback(() => resetEvent.Set()) .Throws(new PayloadNotifyException(PayloadNotifyException.FailureReason.IncorrectState)); + _payloadRepository.Setup(p => p.GetPayloadsInStateAsync(It.IsAny<CancellationToken>(), It.IsAny<Payload.PayloadState[]>())).ReturnsAsync(new List<Payload>()); var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); - service.StartAsync(_cancellationTokenSource.Token); + _ = service.StartAsync(_cancellationTokenSource.Token); resetEvent.Wait(); } @@ -161,161 +163,26 @@ public void GivenAPayload_WhenDequedFromPayloadAssemblerAndFailedToBeProcessByTh public void GivenAPayload_WhenDequedFromPayloadAssembler_ExpectThePayloadBeProcessedByTheMoveActionHandler() { var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Move }; - _payloadAssembler.Setup(p => p.Dequeue(It.IsAny<CancellationToken>())) - .Returns(payload); + _payloadAssembler.Setup(p => p.Dequeue(It.IsAny<CancellationToken>())).Returns(payload); + _payloadRepository.Setup(p => p.GetPayloadsInStateAsync(It.IsAny<CancellationToken>(), It.IsAny<Payload.PayloadState[]>())).ReturnsAsync(new List<Payload>()); var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); _cancellationTokenSource.CancelAfter(100); - service.StartAsync(_cancellationTokenSource.Token); + _ = service.StartAsync(_cancellationTokenSource.Token); _cancellationTokenSource.Token.WaitHandle.WaitOne(); _payloadMoveActionHandler.Verify(p => p.MoveFilesAsync(It.IsAny<Payload>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<ActionBlock<Payload>>(), It.IsAny<CancellationToken>()), Times.AtLeastOnce()); - _logger.VerifyLogging($"Payload {payload.Id} added to {service.ServiceName} for processing.", LogLevel.Information, Times.AtLeastOnce()); + _logger.VerifyLogging($"Payload {payload.PayloadId} added to {service.ServiceName} for processing.", LogLevel.Information, Times.AtLeastOnce()); } - //[RetryFact(DisplayName = "Payload Notification Service shall upload files & retry on failure")] - //public void PayloadNotificationService_ShalUploadFilesAndRetryOnFailure() - //{ - // _fileSystem.Setup(p => p.File.OpenRead(It.IsAny<string>())).Throws(new Exception("error")); - // _fileSystem.Setup(p => p.Path.IsPathRooted(It.IsAny<string>())).Callback((string path) => System.IO.Path.IsPathRooted(path)); - - // var fileInfo = new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "study", "series", "sop") - // { - // Source = "RAET", - // CalledAeTitle = "AET" - // }; - - // var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Upload }; - // payload.Add(fileInfo); - - // var fileSent = false; - // _payloadAssembler.Setup(p => p.Dequeue(It.IsAny<CancellationToken>())) - // .Returns((CancellationToken cancellationToken) => - // { - // if (fileSent) - // { - // cancellationToken.WaitHandle.WaitOne(); - // return null; - // } - - // fileSent = true; - // _cancellationTokenSource.CancelAfter(1000); - // return payload; - // }); - - // var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); - - // service.StartAsync(_cancellationTokenSource.Token); - - // _cancellationTokenSource.Token.WaitHandle.WaitOne(); - // _logger.VerifyLogging($"Uploading payload {payload.Id} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Exactly(2)); - // _logger.VerifyLogging($"Failed to upload payload {payload.Id}; added back to queue for retry.", LogLevel.Warning, Times.Once()); - // _logger.VerifyLogging($"Updating payload {payload.Id} state={payload.State}, retries=1.", LogLevel.Error, Times.Once()); - // _logger.VerifyLogging($"Reached maximum number of retries for payload {payload.Id}, giving up.", LogLevel.Error, Times.Once()); - - // _logger.VerifyLoggingMessageBeginsWith($"Uploading file ", LogLevel.Debug, Times.Exactly(2)); - // _instanceCleanupQueue.Verify(p => p.Queue(It.IsAny<FileStorageMetadata>()), Times.Never()); - //} - - //[RetryFact(DisplayName = "Payload Notification Service shall publish workflow request & retry on failure")] - //public void PayloadNotificationService_ShallPublishAndRetryOnFailure() - //{ - // _payloadAssembler.Setup(p => p.Dequeue(It.IsAny<CancellationToken>())) - // .Callback(() => _cancellationTokenSource.Token.WaitHandle.WaitOne()); - // _messageBrokerPublisherService.Setup(p => p.Publish(It.IsAny<string>(), It.IsAny<Message>())).Throws(new Exception("error")); - - // var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Notify }; - // var metadata = new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "study", "series", "sop") - // { - // Source = "RAET", - // CalledAeTitle = "AET" - // }; - // metadata.SetWorkflows("workflow1", "workflow2"); - // payload.Add(metadata); - - // _payloadRepository.Setup(p => p.AsQueryable()) - // .Returns((new List<Payload> { payload }).AsQueryable()) - // .Callback(() => _cancellationTokenSource.CancelAfter(500)); - - // var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); - - // _cancellationTokenSource.CancelAfter(1000); - // service.StartAsync(_cancellationTokenSource.Token); - - // _cancellationTokenSource.Token.WaitHandle.WaitOne(); - // _logger.VerifyLogging($"Generating workflow request message for payload {payload.Id}...", LogLevel.Debug, Times.Exactly(2)); - // _logger.VerifyLoggingMessageBeginsWith($"Publishing workflow request message ID=", LogLevel.Information, Times.Exactly(2)); - // _logger.VerifyLoggingMessageBeginsWith($"Workflow request published, ID=", LogLevel.Information, Times.Never()); - // _logger.VerifyLogging($"Failed to publish workflow request for payload {payload.Id}; added back to queue for retry.", LogLevel.Warning, Times.Once()); - // _logger.VerifyLogging($"Updating payload {payload.Id} state={payload.State}, retries=1.", LogLevel.Error, Times.Once()); - // _logger.VerifyLogging($"Reached maximum number of retries for payload {payload.Id}, giving up.", LogLevel.Error, Times.Once()); - //} - - //[RetryFact(DisplayName = "Payload Notification Service shall upload files & publish")] - //public void PayloadNotificationService_ShalUploadFilesAndPublish() - //{ - // _fileSystem.Setup(p => p.File.OpenRead(It.IsAny<string>())).Returns(Stream.Null); - // _fileSystem.Setup(p => p.Path.IsPathRooted(It.IsAny<string>())).Callback((string path) => Path.IsPathRooted(path)); - // _storageService.Setup(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>())); - - // _messageBrokerPublisherService.Setup(p => p.Publish(It.IsAny<string>(), It.IsAny<Message>())) - // .Callback(() => _cancellationTokenSource.CancelAfter(500)); - - // var fileInfo = new DicomFileStorageInfo(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), "study", "series", "sop") - // { - // Source = "RAET", - // CalledAeTitle = "AET" - // }; - // fileInfo.SetWorkflows("workflow1", "workflow2"); - // var uploadPath = Path.Combine("study", "series", "instance.dcm"); - // var payload = new Payload("test", Guid.NewGuid().ToString(), 100) { State = Payload.PayloadState.Upload }; - // payload.Add(fileInfo); - - // var filePath = payload.Files[0].FilePath; - - // var fileSent = false; - // _payloadAssembler.Setup(p => p.Dequeue(It.IsAny<CancellationToken>())) - // .Returns((CancellationToken cancellationToken) => - // { - // if (fileSent) - // { - // cancellationToken.WaitHandle.WaitOne(); - // return null; - // } - - // fileSent = true; - // return payload; - // }); - - // var service = new PayloadNotificationService(_serviceScopeFactory.Object, _logger.Object, _options); - - // service.StartAsync(_cancellationTokenSource.Token); - - // _cancellationTokenSource.Token.WaitHandle.WaitOne(); - // _logger.VerifyLogging($"Uploading payload {payload.Id} to storage service at {_options.Value.Storage.StorageServiceBucketName}.", LogLevel.Information, Times.Once()); - // _logger.VerifyLogging($"Uploading file {filePath} from payload {payload.Id} to storage service.", LogLevel.Debug, Times.Once()); - // _logger.VerifyLogging($"Payload {payload.Id} ready to be published.", LogLevel.Information, Times.Once()); - // _logger.VerifyLoggingMessageBeginsWith($"Workflow request published to {_options.Value.Messaging.Topics.WorkflowRequest}, message ID=", LogLevel.Information, Times.Once()); - - // _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Exactly(2)); - - // _instanceCleanupQueue.Verify(p => p.Queue(It.IsAny<FileStorageInfo>()), Times.Once()); - - // _messageBrokerPublisherService.Verify( - // p => p.Publish( - // It.Is<string>(p => p.Equals(_options.Value.Messaging.Topics.WorkflowRequest)), - // It.Is<Message>(p => VerifyHelper(payload, p))) - // , Times.Once()); - //} - private bool VerifyHelper(Payload payload, Message message) { var workflowRequestEvent = message.ConvertTo<WorkflowRequestEvent>(); if (workflowRequestEvent is null) return false; if (workflowRequestEvent.Payload.Count != 1) return false; - if (workflowRequestEvent.PayloadId != payload.Id) return false; + if (workflowRequestEvent.PayloadId != payload.PayloadId) return false; if (workflowRequestEvent.FileCount != payload.Files.Count) return false; if (workflowRequestEvent.CorrelationId != payload.CorrelationId) return false; if (workflowRequestEvent.Timestamp != payload.DateTimeCreated) return false; diff --git a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs index 3d4e46c40..75708dde6 100644 --- a/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/DicomWebExportServiceTest.cs @@ -30,8 +30,8 @@ using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.DicomWeb.Client; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Export; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -139,7 +139,7 @@ public async Task ExportDataBlockCallback_ReturnsNullIfInferenceRequestCannotBeF _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _inferenceRequestStore.Setup(p => p.GetInferenceRequest(It.IsAny<string>())).Returns((InferenceRequest)null); + _inferenceRequestStore.Setup(p => p.GetInferenceRequestAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync((InferenceRequest)null); var service = new DicomWebExportService( _loggerFactory.Object, @@ -194,7 +194,7 @@ public async Task ExportDataBlockCallback_ReturnsNullIfInferenceRequestContainsN _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _inferenceRequestStore.Setup(p => p.GetInferenceRequest(It.IsAny<string>())).Returns(inferenceRequest); + _inferenceRequestStore.Setup(p => p.GetInferenceRequestAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(inferenceRequest); var service = new DicomWebExportService( _loggerFactory.Object, @@ -260,7 +260,7 @@ public async Task ExportDataBlockCallback_RecordsStowFailuresAndReportFailure() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _inferenceRequestStore.Setup(p => p.GetInferenceRequest(It.IsAny<string>())).Returns(inferenceRequest); + _inferenceRequestStore.Setup(p => p.GetInferenceRequestAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(inferenceRequest); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); _handlerMock = new Mock<HttpMessageHandler>(); @@ -343,7 +343,7 @@ public async Task CompletesDataflow(HttpStatusCode httpStatusCode) _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _inferenceRequestStore.Setup(p => p.GetInferenceRequest(It.IsAny<string>())).Returns(inferenceRequest); + _inferenceRequestStore.Setup(p => p.GetInferenceRequestAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(inferenceRequest); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile()); var response = new HttpResponseMessage(httpStatusCode) @@ -413,7 +413,7 @@ public async Task CompletesDataflow(HttpStatusCode httpStatusCode) private bool CheckMessage(Message message, ExportStatus exportStatus, FileExportStatus fileExportStatus) { - Guard.Against.Null(message, nameof(message)); + Guard.Against.Null(message); var exportEvent = message.ConvertTo<ExportCompleteEvent>(); return exportEvent.Status == exportStatus && diff --git a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs index 6573eac55..79f8cb10b 100644 --- a/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ScuExportServiceTest.cs @@ -29,7 +29,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Export; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -55,7 +55,7 @@ public class ScuExportServiceTest private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; private readonly IOptions<InformaticsGatewayConfiguration> _configuration; private readonly Mock<IDicomToolkit> _dicomToolkit; - private readonly Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>> _repository; + private readonly Mock<IDestinationApplicationEntityRepository> _repository; private readonly Mock<IStorageInfoProvider> _storageInfoProvider; private readonly CancellationTokenSource _cancellationTokenSource; @@ -75,12 +75,12 @@ public ScuExportServiceTest(DicomScpFixture dicomScp) _configuration = Options.Create(new InformaticsGatewayConfiguration()); _dicomToolkit = new Mock<IDicomToolkit>(); _cancellationTokenSource = new CancellationTokenSource(); - _repository = new Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>>(); + _repository = new Mock<IDestinationApplicationEntityRepository>(); _storageInfoProvider = new Mock<IStorageInfoProvider>(); var serviceProvider = new Mock<IServiceProvider>(); serviceProvider - .Setup(x => x.GetService(typeof(IInformaticsGatewayRepository<DestinationApplicationEntity>))) + .Setup(x => x.GetService(typeof(IDestinationApplicationEntityRepository))) .Returns(_repository.Object); serviceProvider .Setup(x => x.GetService(typeof(IMessageBrokerPublisherService))) @@ -177,7 +177,7 @@ public async Task ShallFailWhenDestinationIsNotConfigured() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(default(DestinationApplicationEntity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(default(DestinationApplicationEntity)); var service = new ScuExportService(_logger.Object, _serviceScopeFactory.Object, _configuration, _dicomToolkit.Object); @@ -226,7 +226,7 @@ public async Task AssociationRejected() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); var service = new ScuExportService(_logger.Object, _serviceScopeFactory.Object, _configuration, _dicomToolkit.Object); @@ -279,7 +279,7 @@ public async Task SimulateAbort() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); var dataflowCompleted = new ManualResetEvent(false); @@ -330,7 +330,7 @@ public async Task CStoreFailure() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); var dataflowCompleted = new ManualResetEvent(false); @@ -381,7 +381,7 @@ public async Task ErrorLoadingDicomContent() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Throws(new Exception("error")); var dataflowCompleted = new ManualResetEvent(false); @@ -432,7 +432,7 @@ public async Task UnreachableServer() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); var dataflowCompleted = new ManualResetEvent(false); @@ -482,7 +482,7 @@ public async Task ExportCompletes() _storageService.Setup(p => p.GetObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes("test"))); - _repository.Setup(p => p.FirstOrDefault(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(destination); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(destination); _dicomToolkit.Setup(p => p.Load(It.IsAny<byte[]>())).Returns(InstanceGenerator.GenerateDicomFile(sopInstanceUid: sopInstanceUid)); var dataflowCompleted = new ManualResetEvent(false); @@ -511,7 +511,7 @@ public async Task ExportCompletes() private bool CheckMessage(Message message, ExportStatus exportStatus, FileExportStatus fileExportStatus) { - Guard.Against.Null(message, nameof(message)); + Guard.Against.Null(message); var exportEvent = message.ConvertTo<ExportCompleteEvent>(); return exportEvent.Status == exportStatus && diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index 0f4513309..c695b6068 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Net; using System.Threading; using System.Threading.Tasks; @@ -25,7 +26,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scu; using Moq; @@ -40,7 +41,7 @@ public class DestinationAeTitleControllerTest private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<DestinationAeTitleController>> _logger; private readonly Mock<IScuQueue> _scuQueue; - private readonly Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>> _repository; + private readonly Mock<IDestinationApplicationEntityRepository> _repository; public DestinationAeTitleControllerTest() { @@ -68,7 +69,7 @@ public DestinationAeTitleControllerTest() }; }); - _repository = new Mock<IInformaticsGatewayRepository<DestinationApplicationEntity>>(); + _repository = new Mock<IDestinationApplicationEntityRepository>(); var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; _controller = new DestinationAeTitleController( @@ -98,19 +99,19 @@ public async Task Get_ShallReturnAllDestinationAets() }); } - _repository.Setup(p => p.ToListAsync()).Returns(Task.FromResult(data)); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Returns(Task.FromResult(data)); var result = await _controller.Get(); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as IEnumerable<DestinationApplicationEntity>; Assert.Equal(data.Count, response.Count()); - _repository.Verify(p => p.ToListAsync(), Times.Once()); + _repository.Verify(p => p.ToListAsync(It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Get - Shall return problem on failure")] public async Task Get_ShallReturnProblemOnFailure() { - _repository.Setup(p => p.ToListAsync()).Throws(new Exception("error")); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Get(); var objectResult = result.Result as ObjectResult; @@ -130,39 +131,38 @@ public async Task Get_ShallReturnProblemOnFailure() public async Task GetAeTitle_ReturnsAMatch() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns( - Task.FromResult( + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync( new DestinationApplicationEntity { AeTitle = value, Name = value - })); + }); var result = await _controller.GetAeTitle(value); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as DestinationApplicationEntity; Assert.NotNull(response); Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return 404 if not found")] public async Task GetAeTitle_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); var result = await _controller.GetAeTitle(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return problem on failure")] public async Task GetAeTitle_ShallReturnProblemOnFailure() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.GetAeTitle(value); @@ -173,7 +173,7 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() Assert.Equal("Error querying DICOM destinations.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion GetAeTitle @@ -192,7 +192,7 @@ public async Task GivenAnEmptyString_WhenCEchoIsCalled_Returns404() [RetryFact(5, 250)] public async Task GivenADestinationName_WhenCEchoIsCalledAndEntityCannotBeFound_Returns404() { - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).ReturnsAsync(default(DestinationApplicationEntity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(default(DestinationApplicationEntity)); var result = await _controller.CEcho("AET"); var notFoundResult = result as NotFoundResult; Assert.NotNull(notFoundResult); @@ -202,7 +202,7 @@ public async Task GivenADestinationName_WhenCEchoIsCalledAndEntityCannotBeFound_ [RetryFact(5, 250)] public async Task GivenADestinationName_WhenCEchoIsCalledWithAnError_Returns502() { - _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new DestinationApplicationEntity { AeTitle = "AET", @@ -230,7 +230,7 @@ public async Task GivenADestinationName_WhenCEchoIsCalledWithAnError_Returns502( [RetryFact(5, 250)] public async Task GivenADestinationName_WhenCEchoIsCalledWithUnhandledError_Returns500() { - _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new DestinationApplicationEntity { AeTitle = "AET", @@ -253,7 +253,7 @@ public async Task GivenADestinationName_WhenCEchoIsCalledWithUnhandledError_Retu [RetryFact(5, 250)] public async Task GivenADestinationName_WhenCEchoIsCalledSuccessfully_Returns200() { - _repository.Setup(p => p.FindAsync(It.IsAny<string>())) + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .ReturnsAsync(new DestinationApplicationEntity { AeTitle = "AET", @@ -313,7 +313,7 @@ public async Task Create_ShallReturnConflictIfEntityAlreadyExists() Port = 1 }; - _repository.Setup(p => p.Any(It.IsAny<Func<DestinationApplicationEntity, bool>>())).Returns(true); + _repository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<DestinationApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); var result = await _controller.Create(aeTitles); @@ -368,14 +368,12 @@ public async Task Create_ShallReturnCreatedAtAction() }; _repository.Setup(p => p.AddAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); var result = await _controller.Create(aeTitles); Assert.IsType<CreatedAtActionResult>(result.Result); _repository.Verify(p => p.AddAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); } #endregion Create @@ -393,10 +391,8 @@ public async Task Update_ReturnsUpdated() Port = 123, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<DestinationApplicationEntity>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); - _repository.Setup(p => p.Update(It.IsAny<DestinationApplicationEntity>())); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())); var result = await _controller.Edit(entity); var okResult = result.Result as OkObjectResult; @@ -408,9 +404,8 @@ public async Task Update_ReturnsUpdated() Assert.Equal(entity.Name, updatedEntity.Name); Assert.Equal(entity.Port, updatedEntity.Port); - _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); - _repository.Verify(p => p.Update(entity), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if input is null")] @@ -431,12 +426,12 @@ public async Task Update_Returns404IfNotFound() Name = "AET", Port = 123, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); var result = await _controller.Edit(entity); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return problem on failure")] @@ -450,8 +445,8 @@ public async Task Update_ShallReturnProblemOnFailure() Name = value, Port = 123, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Update(It.IsAny<DestinationApplicationEntity>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Edit(entity); @@ -462,7 +457,7 @@ public async Task Update_ShallReturnProblemOnFailure() Assert.Equal("Error updating DICOM destination.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return problem on validation failure")] @@ -477,7 +472,7 @@ public async Task Update_ShallReturnBadRequestWithBadAeTitle() Port = 1 }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); var result = await _controller.Edit(entity); var objectResult = result.Result as ObjectResult; @@ -502,31 +497,29 @@ public async Task Delete_ReturnsDeleted() AeTitle = value, Name = value }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<DestinationApplicationEntity>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); + _repository.Setup(p => p.RemoveAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())); var result = await _controller.Delete(value); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as DestinationApplicationEntity; Assert.NotNull(response); Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); - _repository.Verify(p => p.Remove(entity), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.RemoveAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return 404 if not found")] public async Task Delete_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(DestinationApplicationEntity))); var result = await _controller.Delete(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return problem on failure")] @@ -538,8 +531,8 @@ public async Task Delete_ShallReturnProblemOnFailure() AeTitle = value, Name = value }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<DestinationApplicationEntity>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.RemoveAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Delete(value); @@ -550,7 +543,7 @@ public async Task Delete_ShallReturnProblemOnFailure() Assert.Equal("Error deleting DICOM destination.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion Delete diff --git a/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs index 68e6d5cb6..8aadd13d8 100644 --- a/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.IO.Abstractions; +using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -24,7 +25,7 @@ using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Http; using Moq; using xRetry; @@ -67,8 +68,11 @@ public InferenceControllerTest() Instance = instance }; }); + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; + _controller = new InferenceController(_inferenceRequestRepository.Object, _logger.Object) { + ControllerContext = controllerContext, ProblemDetailsFactory = _problemDetailsFactory.Object }; } @@ -138,7 +142,7 @@ public void NewInferenceRequest_ShallReturnProblemIfOutputIsInvalid() [RetryFact(5, 250, DisplayName = "NewInferenceRequest - shall return problem if same transactionId exits")] public void NewInferenceRequest_ShallReturnProblemIfSameTransactionIdExists() { - _inferenceRequestRepository.Setup(p => p.Exists(It.IsAny<string>())).Returns(true); + _inferenceRequestRepository.Setup(p => p.ExistsAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); var input = new InferenceRequest { @@ -191,7 +195,7 @@ public void NewInferenceRequest_ShallReturnProblemIfFailedToAddJob() { _fileSystem.Setup(p => p.Directory.CreateDirectory(It.IsAny<string>())); _fileSystem.Setup(p => p.Path.Combine(It.IsAny<string>(), It.IsAny<string>())).Returns((string path1, string path2) => System.IO.Path.Combine(path1, path2)); - _inferenceRequestRepository.Setup(p => p.Add(It.IsAny<InferenceRequest>())) + _inferenceRequestRepository.Setup(p => p.AddAsync(It.IsAny<InferenceRequest>(), It.IsAny<CancellationToken>())) .Throws(new Exception("error")); var input = new InferenceRequest @@ -245,7 +249,7 @@ public void NewInferenceRequest_ShallAcceptInferenceRequest() { _fileSystem.Setup(p => p.Directory.CreateDirectory(It.IsAny<string>())); _fileSystem.Setup(p => p.Path.Combine(It.IsAny<string>(), It.IsAny<string>())).Returns((string path1, string path2) => System.IO.Path.Combine(path1, path2)); - _inferenceRequestRepository.Setup(p => p.Add(It.IsAny<InferenceRequest>())); + _inferenceRequestRepository.Setup(p => p.AddAsync(It.IsAny<InferenceRequest>(), It.IsAny<CancellationToken>())); var input = new InferenceRequest { @@ -284,7 +288,7 @@ public void NewInferenceRequest_ShallAcceptInferenceRequest() var result = _controller.NewInferenceRequest(input); - _inferenceRequestRepository.Verify(p => p.Add(input), Times.Once()); + _inferenceRequestRepository.Verify(p => p.AddAsync(input, It.IsAny<CancellationToken>()), Times.Once()); Assert.NotNull(result); var objectResult = result.Result as OkObjectResult; @@ -297,13 +301,13 @@ public void NewInferenceRequest_ShallAcceptInferenceRequest() [RetryFact(5, 250, DisplayName = "Status - return 404 if not found")] public void Status_NotFound() { - _inferenceRequestRepository.Setup(p => p.GetStatus(It.IsAny<string>())) + _inferenceRequestRepository.Setup(p => p.GetStatusAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .Returns(Task.FromResult((InferenceStatusResponse)null)); var jobId = Guid.NewGuid().ToString(); var result = _controller.JobStatus(jobId); - _inferenceRequestRepository.Verify(p => p.GetStatus(jobId), Times.Once()); + _inferenceRequestRepository.Verify(p => p.GetStatusAsync(jobId, It.IsAny<CancellationToken>()), Times.Once()); Assert.NotNull(result); var objectResult = result.Result as ObjectResult; @@ -317,13 +321,13 @@ public void Status_NotFound() [RetryFact(5, 250, DisplayName = "Status - return 500 on error")] public void Status_ShallReturnProblemException() { - _inferenceRequestRepository.Setup(p => p.GetStatus(It.IsAny<string>())) + _inferenceRequestRepository.Setup(p => p.GetStatusAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .Throws(new Exception("error")); var jobId = Guid.NewGuid().ToString(); var result = _controller.JobStatus(jobId); - _inferenceRequestRepository.Verify(p => p.GetStatus(jobId), Times.Once()); + _inferenceRequestRepository.Verify(p => p.GetStatusAsync(jobId, It.IsAny<CancellationToken>()), Times.Once()); Assert.NotNull(result); var objectResult = result.Result as ObjectResult; @@ -337,7 +341,7 @@ public void Status_ShallReturnProblemException() [RetryFact(5, 250, DisplayName = "Status - returns 200")] public void Status_ReturnsStatus() { - _inferenceRequestRepository.Setup(p => p.GetStatus(It.IsAny<string>())) + _inferenceRequestRepository.Setup(p => p.GetStatusAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .Returns(Task.FromResult( new InferenceStatusResponse { @@ -347,7 +351,7 @@ public void Status_ReturnsStatus() var jobId = Guid.NewGuid().ToString(); var result = _controller.JobStatus(jobId); - _inferenceRequestRepository.Verify(p => p.GetStatus(jobId), Times.Once()); + _inferenceRequestRepository.Verify(p => p.GetStatusAsync(jobId, It.IsAny<CancellationToken>()), Times.Once()); Assert.NotNull(result); var objectResult = result.Result as OkObjectResult; diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs index 466e91496..db8a80d93 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Net; using System.Threading; using System.Threading.Tasks; @@ -25,7 +26,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Http; using Monai.Deploy.InformaticsGateway.Services.Scp; using Moq; @@ -40,7 +41,7 @@ public class MonaiAeTitleControllerTest private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<MonaiAeTitleController>> _logger; private readonly Mock<IMonaiAeChangedNotificationService> _aeChangedNotificationService; - private readonly Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>> _repository; + private readonly Mock<IMonaiApplicationEntityRepository> _repository; public MonaiAeTitleControllerTest() { @@ -68,13 +69,15 @@ public MonaiAeTitleControllerTest() }; }); - _repository = new Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>>(); + _repository = new Mock<IMonaiApplicationEntityRepository>(); + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; _controller = new MonaiAeTitleController( _logger.Object, _aeChangedNotificationService.Object, _repository.Object) { + ControllerContext = controllerContext, ProblemDetailsFactory = _problemDetailsFactory.Object }; } @@ -95,19 +98,19 @@ public async Task Get_ShallReturnAllMonaiAets() }); } - _repository.Setup(p => p.ToListAsync()).Returns(Task.FromResult(data)); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Returns(Task.FromResult(data)); var result = await _controller.Get(); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as IEnumerable<MonaiApplicationEntity>; Assert.Equal(data.Count, response.Count()); - _repository.Verify(p => p.ToListAsync(), Times.Once()); + _repository.Verify(p => p.ToListAsync(It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Get - Shall return problem on failure")] public async Task Get_ShallReturnProblemOnFailure() { - _repository.Setup(p => p.ToListAsync()).Throws(new Exception("error")); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Get(); var objectResult = result.Result as ObjectResult; @@ -127,7 +130,7 @@ public async Task Get_ShallReturnProblemOnFailure() public async Task GetAeTitle_ReturnsAMatch() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns( + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns( Task.FromResult( new MonaiApplicationEntity { @@ -141,26 +144,26 @@ public async Task GetAeTitle_ReturnsAMatch() var response = okObjectResult.Value as MonaiApplicationEntity; Assert.NotNull(response); Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return 404 if not found")] public async Task GetAeTitle_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(MonaiApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(MonaiApplicationEntity))); var result = await _controller.GetAeTitle(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return problem on failure")] public async Task GetAeTitle_ShallReturnProblemOnFailure() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.GetAeTitle(value); @@ -171,7 +174,7 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() Assert.Equal("Error querying MONAI Application Entity.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion GetAeTitle @@ -181,7 +184,7 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() [Fact(DisplayName = "Create - Shall return Conflict if entity already exists")] public async Task Create_ShallReturnConflictIfIEntityAlreadyExists() { - _repository.Setup(p => p.Any(It.IsAny<Func<MonaiApplicationEntity, bool>>())).Returns(true); + _repository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<MonaiApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); var monaiAeTitle = new MonaiApplicationEntity { @@ -227,7 +230,7 @@ public async Task Create_ShallReturnBadRequestOnValidationFailure() [RetryFact(DisplayName = "Create - Shall return BadRequest when both allowed & ignored SOP classes are defined")] public async Task Create_ShallReturnBadRequestWhenBothAllowedAndIgnoredSopsAreDefined() { - _repository.Setup(p => p.Any(It.IsAny<Func<MonaiApplicationEntity, bool>>())).Returns(false); + _repository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<MonaiApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())).ReturnsAsync(false); var monaiAeTitle = new MonaiApplicationEntity { @@ -289,7 +292,6 @@ public async Task Create_ShallReturnCreatedAtAction() _aeChangedNotificationService.Setup(p => p.Notify(It.IsAny<MonaiApplicationentityChangedEvent>())); _repository.Setup(p => p.AddAsync(It.IsAny<MonaiApplicationEntity>(), It.IsAny<CancellationToken>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); var result = await _controller.Create(monaiAeTitle); @@ -297,7 +299,6 @@ public async Task Create_ShallReturnCreatedAtAction() _aeChangedNotificationService.Verify(p => p.Notify(It.Is<MonaiApplicationentityChangedEvent>(x => x.ApplicationEntity == monaiAeTitle)), Times.Once()); _repository.Verify(p => p.AddAsync(It.IsAny<MonaiApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); } #endregion Create @@ -313,31 +314,29 @@ public async Task Delete_ReturnsDeleted() AeTitle = value, Name = value }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<MonaiApplicationEntity>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); + _repository.Setup(p => p.RemoveAsync(It.IsAny<MonaiApplicationEntity>(), It.IsAny<CancellationToken>())); var result = await _controller.Delete(value); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as MonaiApplicationEntity; Assert.NotNull(response); Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); - _repository.Verify(p => p.Remove(entity), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.RemoveAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return 404 if not found")] public async Task Delete_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(MonaiApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(MonaiApplicationEntity))); var result = await _controller.Delete(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return problem on failure")] @@ -349,8 +348,8 @@ public async Task Delete_ShallReturnProblemOnFailure() AeTitle = value, Name = value }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<MonaiApplicationEntity>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.RemoveAsync(It.IsAny<MonaiApplicationEntity>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Delete(value); @@ -361,7 +360,7 @@ public async Task Delete_ShallReturnProblemOnFailure() Assert.Equal("Error deleting MONAI Application Entity.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion Delete diff --git a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs index e4113d6d4..468a90eba 100644 --- a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs @@ -17,6 +17,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Linq.Expressions; using System.Net; using System.Threading; using System.Threading.Tasks; @@ -25,7 +26,7 @@ using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Http; using Moq; using xRetry; @@ -38,7 +39,7 @@ public class SourceAeTitleControllerTest private readonly SourceAeTitleController _controller; private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<SourceAeTitleController>> _logger; - private readonly Mock<IInformaticsGatewayRepository<SourceApplicationEntity>> _repository; + private readonly Mock<ISourceApplicationEntityRepository> _repository; public SourceAeTitleControllerTest() { @@ -66,7 +67,7 @@ public SourceAeTitleControllerTest() }); var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; - _repository = new Mock<IInformaticsGatewayRepository<SourceApplicationEntity>>(); + _repository = new Mock<ISourceApplicationEntityRepository>(); _controller = new SourceAeTitleController( _logger.Object, @@ -93,19 +94,19 @@ public async Task Get_ShallReturnAllSourceAets() }); } - _repository.Setup(p => p.ToListAsync()).Returns(Task.FromResult(data)); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Returns(Task.FromResult(data)); var result = await _controller.Get(); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as IEnumerable<SourceApplicationEntity>; Assert.Equal(data.Count, response.Count()); - _repository.Verify(p => p.ToListAsync(), Times.Once()); + _repository.Verify(p => p.ToListAsync(It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Get - Shall return problem on failure")] public async Task Get_ShallReturnProblemOnFailure() { - _repository.Setup(p => p.ToListAsync()).Throws(new Exception("error")); + _repository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Get(); var objectResult = result.Result as ObjectResult; @@ -125,7 +126,7 @@ public async Task Get_ShallReturnProblemOnFailure() public async Task GetAeTitle_ReturnsAMatch() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns( + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns( Task.FromResult( new SourceApplicationEntity { @@ -138,26 +139,26 @@ public async Task GetAeTitle_ReturnsAMatch() var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as SourceApplicationEntity; Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return 404 if not found")] public async Task GetAeTitle_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(SourceApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(SourceApplicationEntity))); var result = await _controller.GetAeTitle(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "GetAeTitle - Shall return problem on failure")] public async Task GetAeTitle_ShallReturnProblemOnFailure() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.GetAeTitle(value); @@ -168,7 +169,7 @@ public async Task GetAeTitle_ShallReturnProblemOnFailure() Assert.Equal("Error querying DICOM sources.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion GetAeTitle @@ -208,7 +209,7 @@ public async Task Create_ShallReturnConflictIfEntityAlreadyExists() Name = aeTitle, }; - _repository.Setup(p => p.Any(It.IsAny<Func<SourceApplicationEntity, bool>>())).Returns(true); + _repository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<SourceApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); var result = await _controller.Create(aeTitles); @@ -261,14 +262,12 @@ public async Task Create_ShallReturnCreatedAtAction() }; _repository.Setup(p => p.AddAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); var result = await _controller.Create(aeTitles); Assert.IsType<CreatedAtActionResult>(result.Result); _repository.Verify(p => p.AddAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); } #endregion Create @@ -285,10 +284,8 @@ public async Task Update_ReturnsUpdated() Name = "AET", }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<SourceApplicationEntity>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); - _repository.Setup(p => p.Update(It.IsAny<SourceApplicationEntity>())); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())); var result = await _controller.Edit(entity); var okResult = result.Result as OkObjectResult; @@ -299,9 +296,8 @@ public async Task Update_ReturnsUpdated() Assert.Equal(entity.HostIp, updatedEntity.HostIp); Assert.Equal(entity.Name, updatedEntity.Name); - _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); - _repository.Verify(p => p.Update(entity), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return 404 if input is null")] @@ -321,12 +317,12 @@ public async Task Update_Returns404IfNotFound() HostIp = "host", Name = "AET", }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(SourceApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(SourceApplicationEntity))); var result = await _controller.Edit(entity); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(entity.Name), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return problem on failure")] @@ -339,8 +335,8 @@ public async Task Update_ShallReturnProblemOnFailure() HostIp = "host", Name = value, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Update(It.IsAny<SourceApplicationEntity>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Edit(entity); @@ -351,7 +347,7 @@ public async Task Update_ShallReturnProblemOnFailure() Assert.Equal("Error updating DICOM source.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Update - Shall return problem on validation failure")] @@ -365,7 +361,7 @@ public async Task Update_ShallReturnBadRequestWithBadAeTitle() HostIp = "host", }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); var result = await _controller.Edit(entity); var objectResult = result.Result as ObjectResult; @@ -391,30 +387,28 @@ public async Task Delete_ReturnsDeleted() HostIp = "host", Name = value, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<SourceApplicationEntity>())); - _repository.Setup(p => p.SaveChangesAsync(It.IsAny<CancellationToken>())); + _repository.Setup(p => p.RemoveAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())); var result = await _controller.Delete(value); var okObjectResult = result.Result as OkObjectResult; var response = okObjectResult.Value as SourceApplicationEntity; Assert.Equal(value, response.AeTitle); - _repository.Verify(p => p.FindAsync(value), Times.Once()); - _repository.Verify(p => p.Remove(entity), Times.Once()); - _repository.Verify(p => p.SaveChangesAsync(It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.RemoveAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return 404 if not found")] public async Task Delete_Returns404IfNotFound() { var value = "AET"; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(default(SourceApplicationEntity))); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(default(SourceApplicationEntity))); var result = await _controller.Delete(value); Assert.IsType<NotFoundResult>(result.Result); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Delete - Shall return problem on failure")] @@ -427,8 +421,8 @@ public async Task Delete_ShallReturnProblemOnFailure() HostIp = "host", Name = value, }; - _repository.Setup(p => p.FindAsync(It.IsAny<string>())).Returns(Task.FromResult(entity)); - _repository.Setup(p => p.Remove(It.IsAny<SourceApplicationEntity>())).Throws(new Exception("error")); + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.RemoveAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())).Throws(new Exception("error")); var result = await _controller.Delete(value); @@ -439,7 +433,7 @@ public async Task Delete_ShallReturnProblemOnFailure() Assert.Equal("Error deleting DICOM source.", problem.Title); Assert.Equal("error", problem.Detail); Assert.Equal((int)HttpStatusCode.InternalServerError, problem.Status); - _repository.Verify(p => p.FindAsync(value), Times.Once()); + _repository.Verify(p => p.FindByNameAsync(value, It.IsAny<CancellationToken>()), Times.Once()); } #endregion Delete diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs index cb2e023ab..c9e010a0a 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityManagerTest.cs @@ -16,7 +16,8 @@ using System; using System.Collections.Generic; -using System.Linq; +using System.Linq.Expressions; +using System.Threading; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -27,7 +28,7 @@ using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Services.Scp; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -52,8 +53,8 @@ public class ApplicationEntityManagerTest private readonly Mock<ILogger<MonaiAeChangedNotificationService>> _loggerNotificationService; private readonly Mock<IStorageInfoProvider> _storageInfoProvider; - private readonly Mock<IInformaticsGatewayRepository<SourceApplicationEntity>> _sourceEntityRepository; - private readonly Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>> _applicationEntityRepository; + private readonly Mock<ISourceApplicationEntityRepository> _sourceEntityRepository; + private readonly Mock<IMonaiApplicationEntityRepository> _applicationEntityRepository; private readonly IServiceProvider _serviceProvider; @@ -70,8 +71,8 @@ public ApplicationEntityManagerTest() _loggerNotificationService = new Mock<ILogger<MonaiAeChangedNotificationService>>(); _monaiAeChangedNotificationService = new MonaiAeChangedNotificationService(_loggerNotificationService.Object); _storageInfoProvider = new Mock<IStorageInfoProvider>(); - _sourceEntityRepository = new Mock<IInformaticsGatewayRepository<SourceApplicationEntity>>(); - _applicationEntityRepository = new Mock<IInformaticsGatewayRepository<MonaiApplicationEntity>>(); + _sourceEntityRepository = new Mock<ISourceApplicationEntityRepository>(); + _applicationEntityRepository = new Mock<IMonaiApplicationEntityRepository>(); _connfiguration = Options.Create(new InformaticsGatewayConfiguration()); var services = new ServiceCollection(); @@ -98,6 +99,7 @@ public ApplicationEntityManagerTest() [RetryFact(5, 250, DisplayName = "HandleCStoreRequest - Shall throw if AE Title not configured")] public async Task HandleCStoreRequest_ShallThrowIfAENotConfigured() { + _applicationEntityRepository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).ReturnsAsync(new List<MonaiApplicationEntity>()); var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, @@ -127,7 +129,7 @@ public async Task HandleCStoreRequest_ThrowWhenOnLowStorageSpace() Name =aet } }; - _applicationEntityRepository.Setup(p => p.AsQueryable()).Returns(data.AsQueryable()); + _applicationEntityRepository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).ReturnsAsync(data); var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, @@ -144,7 +146,7 @@ await Assert.ThrowsAsync<InsufficientStorageAvailableException>(async () => _logger.VerifyLoggingMessageBeginsWith($"Instanced saved", LogLevel.Information, Times.Never()); _logger.VerifyLoggingMessageBeginsWith($"Instance queued for upload", LogLevel.Information, Times.Never()); - _applicationEntityRepository.Verify(p => p.AsQueryable(), Times.Once()); + _applicationEntityRepository.Verify(p => p.ToListAsync(It.IsAny<CancellationToken>()), Times.Once()); _storageInfoProvider.Verify(p => p.HasSpaceAvailableToStore, Times.AtLeastOnce()); _storageInfoProvider.Verify(p => p.AvailableFreeSpace, Times.AtLeastOnce()); } @@ -161,58 +163,44 @@ public void GetService_ShallReturnRequestedServicec() } [RetryFact(5, 250, DisplayName = "IsValidSource - False when AE is empty or white space")] - public void IsValidSource_FalseWhenAEIsEmpty() + public async Task IsValidSource_FalseWhenAEIsEmptyAsync() { var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, _connfiguration); - Assert.False(manager.IsValidSource(" ", "123")); - Assert.False(manager.IsValidSource("AAA", "")); + Assert.False(await manager.IsValidSourceAsync(" ", "123").ConfigureAwait(false)); + Assert.False(await manager.IsValidSourceAsync("AAA", "").ConfigureAwait(false)); } [RetryFact(5, 250, DisplayName = "IsValidSource - False when no matching source found")] - public void IsValidSource_FalseWhenNoMatchingSource() + public async Task IsValidSource_FalseWhenNoMatchingSourceAsync() { var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, _connfiguration); - _sourceEntityRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>())) - .Returns(default(SourceApplicationEntity)); - _sourceEntityRepository.Setup(p => p.AsQueryable()).Returns( - (new List<SourceApplicationEntity> - { new SourceApplicationEntity { AeTitle = "SAE", HostIp = "1.2.3.4", Name = "SAE" } } - ).AsQueryable()); + _sourceEntityRepository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<SourceApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(false); + _sourceEntityRepository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).ReturnsAsync( + ( + new List<SourceApplicationEntity> + { + new SourceApplicationEntity { AeTitle = "SAE", HostIp = "1.2.3.4", Name = "SAE" } + } + )); var sourceAeTitle = "ValidSource"; - Assert.False(manager.IsValidSource(sourceAeTitle, "1.2.3.4")); + Assert.False(await manager.IsValidSourceAsync(sourceAeTitle, "1.2.3.4").ConfigureAwait(false)); - _sourceEntityRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>()), Times.Once()); + _sourceEntityRepository.Verify(p => p.ContainsAsync(It.IsAny<Expression<Func<SourceApplicationEntity, bool>>>(), It.IsAny<CancellationToken>()), Times.Once()); _logger.VerifyLoggingMessageBeginsWith($"Available source AET: SAE @ 1.2.3.4.", LogLevel.Information, Times.Once()); } - [RetryFact(5, 250, DisplayName = "IsValidSource - False when IP does not match")] - public void IsValidSource_FalseWithMismatchIp() - { - var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, - _serviceScopeFactory.Object, - _monaiAeChangedNotificationService, - _connfiguration); - - var aet = "SAE"; - _sourceEntityRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>())) - .Returns(default(SourceApplicationEntity)); - - Assert.False(manager.IsValidSource(aet, "1.1.1.1")); - - _sourceEntityRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>()), Times.Once()); - } - [RetryFact(5, 250, DisplayName = "IsValidSource - True")] - public void IsValidSource_True() + public async Task IsValidSource_TrueAsync() { var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, @@ -220,17 +208,18 @@ public void IsValidSource_True() _connfiguration); var aet = "SAE"; - _sourceEntityRepository.Setup(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>())) - .Returns(new SourceApplicationEntity { AeTitle = aet, HostIp = "1.2.3.4", Name = "SAE" }); + _sourceEntityRepository.Setup(p => p.ContainsAsync(It.IsAny<Expression<Func<SourceApplicationEntity, bool>>>(), It.IsAny<CancellationToken>())) + .ReturnsAsync(true); - Assert.True(manager.IsValidSource(aet, "1.2.3.4")); + Assert.True(await manager.IsValidSourceAsync(aet, "1.2.3.4").ConfigureAwait(false)); - _sourceEntityRepository.Verify(p => p.FirstOrDefault(It.IsAny<Func<SourceApplicationEntity, bool>>()), Times.Once()); + _sourceEntityRepository.Verify(p => p.ContainsAsync(It.IsAny<Expression<Func<SourceApplicationEntity, bool>>>(), It.IsAny<CancellationToken>()), Times.Once()); } [RetryFact(5, 250, DisplayName = "Shall handle AE change events")] - public void ShallHandleAEChangeEvents() + public async Task ShallHandleAEChangeEventsAsync() { + _applicationEntityRepository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).ReturnsAsync(new List<MonaiApplicationEntity>()); var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, @@ -242,7 +231,7 @@ public void ShallHandleAEChangeEvents() AeTitle = "AE1", Name = "AE1" }, ChangedEventType.Added)); - Assert.True(manager.IsAeTitleConfigured("AE1")); + Assert.True(await manager.IsAeTitleConfiguredAsync("AE1").ConfigureAwait(false)); _monaiAeChangedNotificationService.Notify(new MonaiApplicationentityChangedEvent( new MonaiApplicationEntity @@ -250,13 +239,14 @@ public void ShallHandleAEChangeEvents() AeTitle = "AE1", Name = "AE1" }, ChangedEventType.Deleted)); - Assert.False(manager.IsAeTitleConfigured("AE1")); + Assert.False(await manager.IsAeTitleConfiguredAsync("AE1").ConfigureAwait(false)); } [RetryFact(5, 250, DisplayName = "Shall handle CS Store Request")] public async Task ShallHandleCStoreRequest() { var associationId = Guid.NewGuid(); + _applicationEntityRepository.Setup(p => p.ToListAsync(It.IsAny<CancellationToken>())).ReturnsAsync(new List<MonaiApplicationEntity>()); var manager = new ApplicationEntityManager(_hostApplicationLifetime.Object, _serviceScopeFactory.Object, _monaiAeChangedNotificationService, @@ -268,7 +258,7 @@ public async Task ShallHandleCStoreRequest() AeTitle = "AE1", Name = "AE1" }, ChangedEventType.Added)); - Assert.True(manager.IsAeTitleConfigured("AE1")); + Assert.True(await manager.IsAeTitleConfiguredAsync("AE1").ConfigureAwait(false)); var request = GenerateRequest(); await manager.HandleCStoreRequest(request, "AE1", "AE", associationId); diff --git a/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs b/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs index b626280b7..1c3dcde04 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ScpServiceTest.cs @@ -103,8 +103,8 @@ public async Task CEcho_ShallRejectCEchoRequests() _configuration.Value.Dicom.Scp.EnableVerification = false; _configuration.Value.Dicom.Scp.RejectUnknownSources = true; - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); var countdownEvent = new CountdownEvent(1); var service = CreateService(); @@ -133,8 +133,8 @@ public async Task CEcho_ShallRejecUnknownCallingAET() _configuration.Value.Dicom.Scp.EnableVerification = true; _configuration.Value.Dicom.Scp.RejectUnknownSources = true; - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(false); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(false); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); var countdownEvent = new CountdownEvent(1); var service = CreateService(); @@ -161,8 +161,8 @@ public async Task CEcho_ShallRejecUnknownCalledAET() _configuration.Value.Dicom.Scp.EnableVerification = true; _configuration.Value.Dicom.Scp.RejectUnknownSources = true; - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(false); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(false); var countdownEvent = new CountdownEvent(1); var service = CreateService(); @@ -189,8 +189,8 @@ public async Task CEcho_ShallAccept() _configuration.Value.Dicom.Scp.EnableVerification = true; _configuration.Value.Dicom.Scp.RejectUnknownSources = true; - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); var countdownEvent = new CountdownEvent(1); var service = CreateService(); @@ -209,8 +209,8 @@ public async Task CEcho_ShallAccept() [RetryFact(5, 250, DisplayName = "C-STORE - Shall reject when storage is low")] public async Task CStore_ShallRejecOnLowStorageSpace() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(false); var countdownEvent = new CountdownEvent(1); @@ -235,8 +235,8 @@ public async Task CStore_ShallRejecOnLowStorageSpace() [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - InsufficientStorageAvailableException")] public async Task CStore_OnCStoreRequest_InsufficientStorageAvailableException() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(true); _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())).Throws(new InsufficientStorageAvailableException()); @@ -267,8 +267,8 @@ public async Task CStore_OnCStoreRequest_InsufficientStorageAvailableException() [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - IOException")] public async Task CStore_OnCStoreRequest_IoException() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(true); _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())).Throws(new IOException { HResult = Constants.ERROR_HANDLE_DISK_FULL }); var countdownEvent = new CountdownEvent(3); @@ -298,8 +298,8 @@ public async Task CStore_OnCStoreRequest_IoException() [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - Exception")] public async Task CStore_OnCStoreRequest_Exception() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(true); _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())).Throws(new Exception()); @@ -330,8 +330,8 @@ public async Task CStore_OnCStoreRequest_Exception() [RetryFact(5, 250, DisplayName = "C-STORE - OnCStoreRequest - Success")] public async Task CStore_OnCStoreRequest_Success() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(true); _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())); @@ -362,8 +362,8 @@ public async Task CStore_OnCStoreRequest_Success() [RetryFact(5, 250, DisplayName = "C-STORE - Simulate client abort")] public async Task CStore_OnClientAbort() { - _associationDataProvider.Setup(p => p.IsValidSource(It.IsAny<string>(), It.IsAny<string>())).Returns(true); - _associationDataProvider.Setup(p => p.IsAeTitleConfigured(It.IsAny<string>())).Returns(true); + _associationDataProvider.Setup(p => p.IsValidSourceAsync(It.IsAny<string>(), It.IsAny<string>())).ReturnsAsync(true); + _associationDataProvider.Setup(p => p.IsAeTitleConfiguredAsync(It.IsAny<string>())).ReturnsAsync(true); _associationDataProvider.Setup(p => p.CanStore).Returns(true); _associationDataProvider.Setup(p => p.HandleCStoreRequest(It.IsAny<DicomCStoreRequest>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Guid>())); diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index e9bd20379..985c13058 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -70,9 +70,12 @@ public ObjectUploadServiceTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); _options.Value.Storage.TemporaryStorageBucket = "bucket"; + + _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<KeyValuePair<string, string>>())) + .Returns((string _, KeyValuePair<string, string> input) => Task.FromResult(input)); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public void GivenAObjectUploadService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new ObjectUploadService(null, null, null)); @@ -81,7 +84,7 @@ public void GivenAObjectUploadService_WhenInitialized_ExpectParametersToBeValida _ = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public void GivenAObjectUploadService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -90,14 +93,14 @@ public void GivenAObjectUploadService_WhenStartAsyncIsCalled_ExpectServiceStatus Assert.Equal(ServiceStatus.Running, svc.Status); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public void GivenAObjectUploadService_WhenInitialized_ExpectItToRemovingAllPendingObjects() { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFilesToBeUploaded() { var countdownEvent = new CountdownEvent(2); @@ -119,7 +122,7 @@ public async Task GivenADicomFileStorageMetadata_WhenQueuedForUpload_ExpectTwoFi _storageService.Verify(p => p.PutObjectAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<Stream>(), It.IsAny<long>(), It.IsAny<string>(), It.IsAny<Dictionary<string, string>>(), It.IsAny<CancellationToken>()), Times.Exactly(2)); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public async Task GivenAFhirFileStorageMetadata_WhenQueuedForUpload_ExpectSingleFileToBeUploaded() { var countdownEvent = new CountdownEvent(1); diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json new file mode 100644 index 000000000..8b1cd89ca --- /dev/null +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -0,0 +1,2018 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "Microsoft.AspNetCore.Mvc.WebApiCompatShim": { + "type": "Direct", + "requested": "[2.2.0, )", + "resolved": "2.2.0", + "contentHash": "YKovpp46Fgah0N8H4RGb+7x9vdjj50mS3NON910pYJFQmn20Cd1mYVkTunjy/DrZpvwmJ8o5Es0VnONSYVXEAQ==", + "dependencies": { + "Microsoft.AspNet.WebApi.Client": "5.2.6", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0" + } + }, + "Microsoft.EntityFrameworkCore.InMemory": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "2h5Pyy5e5EJhvMVl1UGPTLst1Q/+8rwEIvjsFwQDrsOmbsgzlbkvCJM2K89wvjA3UKAn5nTyRxCzKu9MMaJYkg==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "NPOI": { + "type": "Direct", + "requested": "[2.5.6, )", + "resolved": "2.5.6", + "contentHash": "xQfr09LZN3fr4rjSuV3li+WJUo2LiSg00IUtnomzrKO51zhhavyIgvbZ1f8c8zwHXvRbFc1JB4PNZpxqyxizWw==", + "dependencies": { + "Portable.BouncyCastle": "1.8.9", + "SharpZipLib": "1.3.3", + "System.Configuration.ConfigurationManager": "4.5.0", + "System.Drawing.Common": "4.5.0" + } + }, + "Swashbuckle.AspNetCore": { + "type": "Direct", + "requested": "[6.4.0, )", + "resolved": "6.4.0", + "contentHash": "eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "dependencies": { + "System.IO.Abstractions": "17.2.3" + } + }, + "xRetry": { + "type": "Direct", + "requested": "[1.8.0, )", + "resolved": "1.8.0", + "contentHash": "H8KXWHBjQASwD4y/7L2j7j4KLmg8z4+mCV4atrhZvJVnCkVSKLkWe1lfKGmaCYkKt2dJnC4yH+tJXGqthSkGGg==", + "dependencies": { + "xunit.core": "[2.4.0, 3.0.0)" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "DotNext": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "DotNext.Threading": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "dependencies": { + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom.NLog": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "k35FD+C9IcpTLjCF5tvCkBGUxJ+YvzoBsgb2VAtGQv+aVTu+HyoCnNVqccc4lVE53fbVCwpR3gPiTAnm5fm+KQ==", + "dependencies": { + "NLog": "4.7.11", + "fo-dicom": "5.0.3" + } + }, + "HL7-dotnetcore": { + "type": "Transitive", + "resolved": "2.29.0", + "contentHash": "E0N/W72HsvIJj6XGyiUv9BHmyhvkNedpa23QN/Xwk47S965NYC9JSA1VVYWAAs4J6yOIhpM3lBOEWvhQBO31Lw==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "3.3.1", + "contentHash": "wkPTc/UEuSAwbO3/Ee+oCdotxncmc/DKwjM533Z0BKvJm94NLOvU2i7pifgMd6uAUJ8jy69OcFZRu7hXKbMW6g==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.AspNetCore.Authentication.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "VloMLDJMf3n/9ic5lCBOa42IBYJgyB1JhzLsL68Zqg+2bEPWfGBj/xCJy/LrKTArN0coOcZp3wyVTZlx0y9pHQ==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + } + }, + "Microsoft.AspNetCore.Authentication.Core": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "XlVJzJ5wPOYW+Y0J6Q/LVTEyfS4ssLXmt60T0SPP+D8abVhBTl+cgw2gDHlyKYIkcJg7btMVh383NDkMVqD/fg==", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0" + } + }, + "Microsoft.AspNetCore.Authorization": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "/L0W8H3jMYWyaeA9gBJqS/tSWBegP9aaTM0mjRhxTttBY9z4RVDRYJ2CwPAmAXIuPr3r1sOw+CS8jFVRGHRezQ==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + } + }, + "Microsoft.AspNetCore.Authorization.Policy": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "aJCo6niDRKuNg2uS2WMEmhJTooQUGARhV2ENQ2tO5443zVHUo19MSgrgGo9FIrfD+4yKPF8Q+FF33WkWfPbyKw==", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Authorization": "2.2.0" + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ubycklv+ZY7Kutdwuy1W4upWcZ6VFR8WUXU7l7B2+mvbDBBPAcfpi+E+Y5GFe+Q157YfA3C49D2GCjAZc7Mobw==", + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.Hosting.Abstractions": "2.2.0" + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "1PMijw8RMtuQF60SsD/JlKtVfvh4NORAhF4wjysdABhlhTrYmtgssqyncR0Stq5vqtjplZcj6kbT4LRTglt9IQ==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "Microsoft.Extensions.Configuration.Abstractions": "2.2.0" + } + }, + "Microsoft.AspNetCore.Http": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "YogBSMotWPAS/X5967pZ+yyWPQkThxhmzAwyCHCSSldzYBkW5W5d6oPfBaPqQOnSHYTpSOSOkpZoAce0vwb6+A==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.AspNetCore.WebUtilities": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Http.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "Nxs7Z1q3f1STfLYKJSVXCs1iBl+Ya6E8o4Oy1bCxJ/rNI44E/0f6tbsrVqAWfB7jlnJfyaAtIalBVxPKUPQb4Q==", + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Extensions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "2DgZ9rWrJtuR7RYiew01nGRzuQBDaGHGmK56Rk54vsLLsCdzuFUPqbDTJCS1qJQWTbmbIQ9wGIOjpxA1t0l7/w==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.AspNetCore.Http.Features": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ziFz5zH8f33En4dX81LW84I6XrYXKf9jg6aM39cM+LffN9KJahViKZ61dGMSO2gd3e+qe5yBRwsesvyqlZaSMg==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + } + }, + "Microsoft.AspNetCore.JsonPatch": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "o9BB9hftnCsyJalz9IT0DUFxz8Xvgh3TOfGWolpuf19duxB4FySq7c25XDYBmBMS+sun5/PsEUAi58ra4iJAoA==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Newtonsoft.Json": "11.0.2" + } + }, + "Microsoft.AspNetCore.Mvc.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ET6uZpfVbGR1NjCuLaLy197cQ3qZUjzl7EG5SL4GfJH/c9KRE89MMBrQegqWsh0w1iRUB/zQaK0anAjxa/pz4g==", + "dependencies": { + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Net.Http.Headers": "2.2.0" + } + }, + "Microsoft.AspNetCore.Mvc.Core": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ALiY4a6BYsghw8PT5+VU593Kqp911U3w9f/dH9/ZoI3ezDsDAGiObqPu/HP1oXK80Ceu0XdQ3F0bx5AXBeuN/Q==", + "dependencies": { + "Microsoft.AspNetCore.Authentication.Core": "2.2.0", + "Microsoft.AspNetCore.Authorization.Policy": "2.2.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Http": "2.2.0", + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Mvc.Abstractions": "2.2.0", + "Microsoft.AspNetCore.ResponseCaching.Abstractions": "2.2.0", + "Microsoft.AspNetCore.Routing": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.DependencyModel": "2.1.0", + "Microsoft.Extensions.FileProviders.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "System.Diagnostics.DiagnosticSource": "4.5.0", + "System.Threading.Tasks.Extensions": "4.5.1" + } + }, + "Microsoft.AspNetCore.Mvc.Formatters.Json": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "ScWwXrkAvw6PekWUFkIr5qa9NKn4uZGRvxtt3DvtUrBYW5Iu2y4SS/vx79JN0XDHNYgAJ81nVs+4M7UE1Y/O+g==", + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "2.2.0", + "Microsoft.AspNetCore.Mvc.Core": "2.2.0" + } + }, + "Microsoft.AspNetCore.ResponseCaching.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "CIHWEKrHzZfFp7t57UXsueiSA/raku56TgRYauV/W1+KAQq6vevz60zjEKaazt3BI76zwMz3B4jGWnCwd8kwQw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0" + } + }, + "Microsoft.AspNetCore.Routing": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "jAhDBy0wryOnMhhZTtT9z63gJbvCzFuLm8yC6pHzuVu9ZD1dzg0ltxIwT4cfwuNkIL/TixdKsm3vpVOpG8euWQ==", + "dependencies": { + "Microsoft.AspNetCore.Http.Extensions": "2.2.0", + "Microsoft.AspNetCore.Routing.Abstractions": "2.2.0", + "Microsoft.Extensions.Logging.Abstractions": "2.2.0", + "Microsoft.Extensions.ObjectPool": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0" + } + }, + "Microsoft.AspNetCore.Routing.Abstractions": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "lRRaPN7jDlUCVCp9i0W+PB0trFaKB0bgMJD7hEJS9Uo4R9MXaMC8X2tJhPLmeVE3SGDdYI4QNKdVmhNvMJGgPQ==", + "dependencies": { + "Microsoft.AspNetCore.Http.Abstractions": "2.2.0" + } + }, + "Microsoft.AspNetCore.WebUtilities": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "9ErxAAKaDzxXASB/b5uLEkLgUWv1QbeVxyJYEHQwMaxXOeFFVkQxiq8RyfVcifLU7NR0QY0p3acqx4ZpYfhHDg==", + "dependencies": { + "Microsoft.Net.Http.Headers": "2.2.0", + "System.Text.Encodings.Web": "4.5.0" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "6.0.5", + "contentHash": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.ObjectPool": { + "type": "Transitive", + "resolved": "2.2.0", + "contentHash": "gA8H7uQOnM5gb+L0uTNjViHYr+hRDqCdfugheGo/MxQnuHzmhhzCBTIPm19qL1z1Xe0NEMabfcOBGv9QghlZ8g==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.3", + "contentHash": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Microsoft.Win32.SystemEvents": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.0.0" + } + }, + "Minio": { + "type": "Transitive", + "resolved": "4.0.6", + "contentHash": "c/7hO1I0/PB1hJr7HXuNxsTT59xi4ADPxHhGtv7zzTNZqDqq+Vgv+C8xSJ6rlIy4px7ibhMt6Kunq20ZBlLj4Q==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.1", + "System.Reactive.Linq": "5.0.0", + "System.ValueTuple": "4.4.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Messaging.RabbitMQ": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "dependencies": { + "Monai.Deploy.Messaging": "0.1.16", + "Polly": "7.2.3", + "RabbitMQ.Client": "6.4.0", + "System.Collections.Concurrent": "4.3.0" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.MinIO": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Minio": "4.0.6", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.S3Policy": "0.2.10" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NLog": { + "type": "Transitive", + "resolved": "5.0.5", + "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + }, + "NLog.Extensions.Logging": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "NLog": "5.0.5" + } + }, + "NLog.Web.AspNetCore": { + "type": "Transitive", + "resolved": "5.1.5", + "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "dependencies": { + "NLog.Extensions.Logging": "5.1.0" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "Portable.BouncyCastle": { + "type": "Transitive", + "resolved": "1.8.9", + "contentHash": "wlJo8aFoeyl+W93iFXTK5ShzDYk5WBqoUPjTNEM0Xv9kn1H+4hmuCjF0/n8HLm9Nnp1aY6KNndWqQTNk+NGgRQ==" + }, + "RabbitMQ.Client": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1znR1gGU+xYVSpO5z8nQolcUKA/yydnxQn7Ug9+RUXxTSLMm/eE58VKGwahPBjELXvDnX0k/kBrAitFLRjx9LA==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "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": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "SharpZipLib": { + "type": "Transitive", + "resolved": "1.3.3", + "contentHash": "N8+hwhsKZm25tDJfWpBSW7EGhH/R7EMuiX+KJ4C4u+fCWVc1lJ5zg1u3S1RPPVYgTqhx/C3hxrqUpi6RwK5+Tg==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Security.Permissions": "4.5.0" + } + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Drawing.Common": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==", + "dependencies": { + "Microsoft.NETCore.Platforms": "2.0.0", + "Microsoft.Win32.SystemEvents": "4.5.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Async": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "OHzPhSme78BbmLe9UBxHM69ZYjClS5URuhce6Ta4ikiLgaUGiG/X84fZpI6zy7CsUH5R9cYzI2tv9dWPqdTkUg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.1", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", + "dependencies": { + "System.Reactive": "5.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Security.Permissions": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "dependencies": { + "System.Security.AccessControl": "4.5.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.MinIO": "0.2.10", + "NLog": "5.0.5", + "NLog.Web.AspNetCore": "5.1.5", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json new file mode 100644 index 000000000..d5a356c2d --- /dev/null +++ b/src/InformaticsGateway/packages.lock.json @@ -0,0 +1,1596 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "Ardalis.GuardClauses": { + "type": "Direct", + "requested": "[4.0.1, )", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "DotNext.Threading": { + "type": "Direct", + "requested": "[4.7.4, )", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "dependencies": { + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom.NLog": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "k35FD+C9IcpTLjCF5tvCkBGUxJ+YvzoBsgb2VAtGQv+aVTu+HyoCnNVqccc4lVE53fbVCwpR3gPiTAnm5fm+KQ==", + "dependencies": { + "NLog": "4.7.11", + "fo-dicom": "5.0.3" + } + }, + "GitVersion.MsBuild": { + "type": "Direct", + "requested": "[5.11.1, )", + "resolved": "5.11.1", + "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" + }, + "HL7-dotnetcore": { + "type": "Direct", + "requested": "[2.29.0, )", + "resolved": "2.29.0", + "contentHash": "E0N/W72HsvIJj6XGyiUv9BHmyhvkNedpa23QN/Xwk47S965NYC9JSA1VVYWAAs4J6yOIhpM3lBOEWvhQBO31Lw==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Direct", + "requested": "[3.3.1, )", + "resolved": "3.3.1", + "contentHash": "wkPTc/UEuSAwbO3/Ee+oCdotxncmc/DKwjM533Z0BKvJm94NLOvU2i7pifgMd6uAUJ8jy69OcFZRu7hXKbMW6g==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Microsoft.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, + "Microsoft.Extensions.Hosting": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Monai.Deploy.Messaging.RabbitMQ": { + "type": "Direct", + "requested": "[0.1.16, )", + "resolved": "0.1.16", + "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "dependencies": { + "Monai.Deploy.Messaging": "0.1.16", + "Polly": "7.2.3", + "RabbitMQ.Client": "6.4.0", + "System.Collections.Concurrent": "4.3.0" + } + }, + "Monai.Deploy.Storage": { + "type": "Direct", + "requested": "[0.2.10, )", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.MinIO": { + "type": "Direct", + "requested": "[0.2.10, )", + "resolved": "0.2.10", + "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Minio": "4.0.6", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.S3Policy": "0.2.10" + } + }, + "NLog": { + "type": "Direct", + "requested": "[5.0.5, )", + "resolved": "5.0.5", + "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + }, + "NLog.Web.AspNetCore": { + "type": "Direct", + "requested": "[5.1.5, )", + "resolved": "5.1.5", + "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "dependencies": { + "NLog.Extensions.Logging": "5.1.0" + } + }, + "Polly": { + "type": "Direct", + "requested": "[7.2.3, )", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "Swashbuckle.AspNetCore": { + "type": "Direct", + "requested": "[6.4.0, )", + "resolved": "6.4.0", + "contentHash": "eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "DotNext": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "6.0.5", + "contentHash": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.3", + "contentHash": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Minio": { + "type": "Transitive", + "resolved": "4.0.6", + "contentHash": "c/7hO1I0/PB1hJr7HXuNxsTT59xi4ADPxHhGtv7zzTNZqDqq+Vgv+C8xSJ6rlIy4px7ibhMt6Kunq20ZBlLj4Q==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.1", + "System.Reactive.Linq": "5.0.0", + "System.ValueTuple": "4.4.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NLog.Extensions.Logging": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "NLog": "5.0.5" + } + }, + "RabbitMQ.Client": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1znR1gGU+xYVSpO5z8nQolcUKA/yydnxQn7Ug9+RUXxTSLMm/eE58VKGwahPBjELXvDnX0k/kBrAitFLRjx9LA==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "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": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Async": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "OHzPhSme78BbmLe9UBxHM69ZYjClS5URuhce6Ta4ikiLgaUGiG/X84fZpI6zy7CsUH5R9cYzI2tv9dWPqdTkUg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.1", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", + "dependencies": { + "System.Reactive": "5.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/src/Monai.Deploy.InformaticsGateway.sln b/src/Monai.Deploy.InformaticsGateway.sln index 91eee03f2..51c87fe4d 100644 --- a/src/Monai.Deploy.InformaticsGateway.sln +++ b/src/Monai.Deploy.InformaticsGateway.sln @@ -48,6 +48,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGat EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.Api.Test", "Database\Api\Test\Monai.Deploy.InformaticsGateway.Database.Api.Test.csproj", "{7F56994D-5310-467F-96FC-87C26F151737}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Database", "Database", "{290E4C9B-841D-4E2C-91A0-5A69BAB122F3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test", "Database\EntityFramework\Test\Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj", "{EA930DE2-33C4-447C-9E26-31387652D408}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monai.Deploy.InformaticsGateway.Database.MongoDB", "Database\MongoDB\Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj", "{5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -322,11 +328,36 @@ Global {7F56994D-5310-467F-96FC-87C26F151737}.Release|x64.Build.0 = Release|Any CPU {7F56994D-5310-467F-96FC-87C26F151737}.Release|x86.ActiveCfg = Release|Any CPU {7F56994D-5310-467F-96FC-87C26F151737}.Release|x86.Build.0 = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|x64.ActiveCfg = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|x64.Build.0 = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|x86.ActiveCfg = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Debug|x86.Build.0 = Debug|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|Any CPU.Build.0 = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|x64.ActiveCfg = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|x64.Build.0 = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|x86.ActiveCfg = Release|Any CPU + {EA930DE2-33C4-447C-9E26-31387652D408}.Release|x86.Build.0 = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|x64.ActiveCfg = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|x64.Build.0 = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|x86.ActiveCfg = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Debug|x86.Build.0 = Debug|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|Any CPU.Build.0 = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x64.ActiveCfg = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x64.Build.0 = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x86.ActiveCfg = Release|Any CPU + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution + {6073FCD3-5E2E-4182-B6B3-DE5E5BCBE203} = {290E4C9B-841D-4E2C-91A0-5A69BAB122F3} {90BC467C-39C9-4EBB-98CF-3289BC8E8A72} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {78668564-B90C-4661-A0EF-373E040F2270} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {C7CBB953-DCBB-4B15-A562-C0C4CCF93B19} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} @@ -336,7 +367,11 @@ Global {E1583FDB-9DC1-46E7-BB14-AFC2A7608600} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {28099DFC-8937-4508-848C-35C99E56C121} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {0BB99F0E-669F-4884-9DB1-AFA16CC9C67B} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} + {313B68CE-A0DB-4DE2-8359-AC777F5997FE} = {290E4C9B-841D-4E2C-91A0-5A69BAB122F3} + {366CA24C-B546-46AD-8607-AABE4F0F4864} = {290E4C9B-841D-4E2C-91A0-5A69BAB122F3} {7F56994D-5310-467F-96FC-87C26F151737} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} + {EA930DE2-33C4-447C-9E26-31387652D408} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} + {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31} = {290E4C9B-841D-4E2C-91A0-5A69BAB122F3} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E23DC856-D033-49F6-9BC6-9F1D0ECD05CB} diff --git a/tests/Integration.Test/Common/Assertions.cs b/tests/Integration.Test/Common/Assertions.cs index 2e80e3edd..24119f0b0 100644 --- a/tests/Integration.Test/Common/Assertions.cs +++ b/tests/Integration.Test/Common/Assertions.cs @@ -19,15 +19,17 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Xml; +using Amazon.Runtime; using Ardalis.GuardClauses; using FellowOakDicom; using FellowOakDicom.Serialization; using Minio; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; -using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; using Monai.Deploy.Messaging.Events; using Monai.Deploy.Messaging.Messages; +using Polly; +using Polly.Retry; using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common @@ -37,12 +39,14 @@ internal class Assertions private readonly Configurations _configurations; private readonly InformaticsGatewayConfiguration _options; private readonly ISpecFlowOutputHelper _outputHelper; + private readonly AsyncRetryPolicy _retryPolicy; public Assertions(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) { _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); _options = options ?? throw new ArgumentNullException(nameof(options)); _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync(retryCount: 5, sleepDurationProvider: _ => TimeSpan.FromMilliseconds(500)); } internal async Task ShouldHaveUploadedDicomDataToMinio(IReadOnlyList<Message> messages, Dictionary<string, string> fileHashes) @@ -57,36 +61,41 @@ internal async Task ShouldHaveUploadedDicomDataToMinio(IReadOnlyList<Message> me var request = message.ConvertTo<WorkflowRequestEvent>(); foreach (var file in request.Payload) { - var dicomValidationKey = string.Empty; - - var getObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Path}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - memoryStream.Position = 0; - var dicomFile = DicomFile.Open(memoryStream); - dicomValidationKey = dicomFile.GenerateFileName(); - fileHashes.Should().ContainKey(dicomValidationKey).WhoseValue.Should().Be(dicomFile.CalculateHash()); - }); - await minioClient.GetObjectAsync(getObjectArgs); - - var getMetadataObjectArgs = new GetObjectArgs() - .WithBucket(request.Bucket) - .WithObject($"{request.PayloadId}/{file.Metadata}") - .WithCallbackStream((stream) => - { - using var memoryStream = new MemoryStream(); - stream.CopyTo(memoryStream); - var json = Encoding.UTF8.GetString(memoryStream.ToArray()); - - var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); - var key = dicomFileFromJson.GenerateFileName(); - key.Should().Be(dicomValidationKey); - }); - await minioClient.GetObjectAsync(getMetadataObjectArgs); + await _retryPolicy.ExecuteAsync(async () => + { + var dicomValidationKey = string.Empty; + + _outputHelper.WriteLine($"Reading file from {request.Bucket} => {request.PayloadId}/{file.Path}."); + var getObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Path}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Position = 0; + var dicomFile = DicomFile.Open(memoryStream); + dicomValidationKey = dicomFile.GenerateFileName(); + fileHashes.Should().ContainKey(dicomValidationKey).WhoseValue.Should().Be(dicomFile.CalculateHash()); + }); + await minioClient.GetObjectAsync(getObjectArgs); + + _outputHelper.WriteLine($"Reading file from {request.Bucket} => {request.PayloadId}/{file.Metadata}."); + var getMetadataObjectArgs = new GetObjectArgs() + .WithBucket(request.Bucket) + .WithObject($"{request.PayloadId}/{file.Metadata}") + .WithCallbackStream((stream) => + { + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + var json = Encoding.UTF8.GetString(memoryStream.ToArray()); + + var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); + var key = dicomFileFromJson.GenerateFileName(); + key.Should().Be(dicomValidationKey); + }); + await minioClient.GetObjectAsync(getMetadataObjectArgs); + }); } } } @@ -199,6 +208,7 @@ internal void ShouldHaveCorrectNumberOfWorkflowRequestMessages(DataProvider data } } } + internal void ShouldHaveCorrectNumberOfWorkflowRequestMessagesAndAcrRequest(DataProvider dataProvider, IReadOnlyList<Message> messages, int count) { Guard.Against.Null(dataProvider); diff --git a/tests/Integration.Test/Common/MinioDataSink.cs b/tests/Integration.Test/Common/MinioDataSink.cs index d90da035f..7d90f2ebd 100644 --- a/tests/Integration.Test/Common/MinioDataSink.cs +++ b/tests/Integration.Test/Common/MinioDataSink.cs @@ -18,6 +18,8 @@ using Minio; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; +using Polly; +using Polly.Retry; using TechTalk.SpecFlow.Infrastructure; namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common @@ -27,39 +29,44 @@ internal class MinioDataClient : IDataClient private readonly Configurations _configurations; private readonly InformaticsGatewayConfiguration _options; private readonly ISpecFlowOutputHelper _outputHelper; + private readonly AsyncRetryPolicy _retryPolicy; public MinioDataClient(Configurations configurations, InformaticsGatewayConfiguration options, ISpecFlowOutputHelper outputHelper) { _configurations = configurations ?? throw new ArgumentNullException(nameof(configurations)); _options = options ?? throw new ArgumentNullException(nameof(options)); _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync(retryCount: 5, sleepDurationProvider: _ => TimeSpan.FromMilliseconds(500)); } public async Task SendAsync(DataProvider dataProvider, params object[] args) { - var minioClient = CreateMinioClient(); + await _retryPolicy.ExecuteAsync(async () => + { + var minioClient = CreateMinioClient(); - var stopwatch = new Stopwatch(); - stopwatch.Start(); + var stopwatch = new Stopwatch(); + stopwatch.Start(); - _outputHelper.WriteLine($"Uploading {dataProvider.DicomSpecs.FileCount} files to MinIO..."); + _outputHelper.WriteLine($"Uploading {dataProvider.DicomSpecs.FileCount} files to MinIO..."); - foreach (var file in dataProvider.DicomSpecs.Files) - { - var filename = file.GenerateFileName(); - var stream = new MemoryStream(); - await file.SaveAsync(stream); - stream.Position = 0; - var puObjectArgs = new PutObjectArgs(); - puObjectArgs.WithBucket(_options.Storage.StorageServiceBucketName) - .WithObject(filename) - .WithStreamData(stream) - .WithObjectSize(stream.Length); - await minioClient.PutObjectAsync(puObjectArgs); - } + foreach (var file in dataProvider.DicomSpecs.Files) + { + var filename = file.GenerateFileName(); + var stream = new MemoryStream(); + await file.SaveAsync(stream); + stream.Position = 0; + var puObjectArgs = new PutObjectArgs(); + puObjectArgs.WithBucket(_options.Storage.StorageServiceBucketName) + .WithObject(filename) + .WithStreamData(stream) + .WithObjectSize(stream.Length); + await minioClient.PutObjectAsync(puObjectArgs); + } - stopwatch.Stop(); - _outputHelper.WriteLine($"Time to upload to Minio={0}s...", stopwatch.Elapsed.TotalSeconds); + stopwatch.Stop(); + _outputHelper.WriteLine($"Time to upload to Minio={0}s...", stopwatch.Elapsed.TotalSeconds); + }); } private MinioClient CreateMinioClient() => new MinioClient() @@ -77,6 +84,7 @@ internal void CleanBucketAsync() .WithBucket(_options.Storage.StorageServiceBucketName) .WithRecursive(true); + var reset = new ManualResetEventSlim(); var objects = minioClient.ListObjectsAsync(listObjectArgs); objects.Subscribe(async (item) => { @@ -87,7 +95,9 @@ internal void CleanBucketAsync() count++; }, ex => Console.WriteLine($"Error listing objects: {ex}"), - () => Console.WriteLine($"Listed all objects in bucket {_options.Storage.StorageServiceBucketName}\n")); + () => reset.Set()); + + reset.Wait(); stopwatch.Stop(); _outputHelper.WriteLine($"Cleaned up {0} objects from Minio in {1}s...", count, stopwatch.Elapsed.TotalSeconds); } diff --git a/tests/Integration.Test/Drivers/EfDataProvider.cs b/tests/Integration.Test/Drivers/EfDataProvider.cs index bea238fb1..2a8be5757 100644 --- a/tests/Integration.Test/Drivers/EfDataProvider.cs +++ b/tests/Integration.Test/Drivers/EfDataProvider.cs @@ -14,7 +14,8 @@ * limitations under the License. */ -using BoDi; +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; @@ -28,11 +29,53 @@ public sealed class EfDataProvider : IDatabaseDataProvider private readonly Configurations _configuration; private readonly InformaticsGatewayContext _dbContext; - public EfDataProvider(ISpecFlowOutputHelper outputHelper, Configurations configuration, InformaticsGatewayContext informaticsGatewayContext) + public EfDataProvider(ISpecFlowOutputHelper outputHelper, Configurations configuration, string connectionString) { + if (string.IsNullOrWhiteSpace(connectionString)) + { + throw new ArgumentException($"'{nameof(connectionString)}' cannot be null or whitespace.", nameof(connectionString)); + } + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - _dbContext = informaticsGatewayContext ?? throw new ArgumentNullException(nameof(informaticsGatewayContext)); ; + + connectionString = ConvertToFullPath(connectionString); + _outputHelper.WriteLine($"Connecting to EF based database using {connectionString}"); + var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); + builder.UseSqlite(connectionString); + _dbContext = new InformaticsGatewayContext(builder.Options); + } + + private string ConvertToFullPath(string connectionString) + { + Guard.Against.NullOrWhiteSpace(connectionString); + + string absolute = Path.GetFullPath("./"); + return connectionString.Replace("=./", $"={absolute}"); + } + + public void ClearAllData() + { + _outputHelper.WriteLine("Removing data from the database."); + _dbContext.Database.EnsureCreated(); + DumpAndClear("DestinationApplicationEntities", _dbContext.DestinationApplicationEntities.ToList()); + DumpAndClear("SourceApplicationEntities", _dbContext.SourceApplicationEntities.ToList()); + DumpAndClear("MonaiApplicationEntities", _dbContext.MonaiApplicationEntities.ToList()); + DumpAndClear("Payloads", _dbContext.Payloads.ToList()); + DumpAndClear("InferenceRequests", _dbContext.InferenceRequests.ToList()); + DumpAndClear("StorageMetadataWrapperEntities", _dbContext.StorageMetadataWrapperEntities.ToList()); + _dbContext.SaveChanges(); + _outputHelper.WriteLine("All data removed from the database."); + } + + private void DumpAndClear<T>(string name, List<T> items) where T : class + { + _outputHelper.WriteLine($"==={name}==="); + foreach (var item in items) + { + _outputHelper.WriteLine(item.ToString()); + } + _dbContext.Set<T>().RemoveRange(items); } public async Task<string> InjectAcrRequest() @@ -58,6 +101,7 @@ public async Task<string> InjectAcrRequest() _dbContext.Add(request); await _dbContext.SaveChangesAsync(); _outputHelper.WriteLine($"Injected ACR request {request.TransactionId}"); + Console.WriteLine($"Injected ACR request {request.TransactionId}"); return request.TransactionId; } } diff --git a/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs index 514b0e200..47c1a0618 100644 --- a/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs +++ b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs @@ -18,6 +18,7 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks { public interface IDatabaseDataProvider { + void ClearAllData(); Task<string> InjectAcrRequest(); } } diff --git a/tests/Integration.Test/Drivers/MongoDBDataProvider.cs b/tests/Integration.Test/Drivers/MongoDBDataProvider.cs new file mode 100644 index 000000000..9ef02d425 --- /dev/null +++ b/tests/Integration.Test/Drivers/MongoDBDataProvider.cs @@ -0,0 +1,124 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Integration.Test.Hooks; +using MongoDB.Driver; +using TechTalk.SpecFlow.Infrastructure; + +namespace Monai.Deploy.InformaticsGateway.Integration.Test.Drivers +{ + public class MongoDBDataProvider : IDatabaseDataProvider + { + private readonly ISpecFlowOutputHelper _outputHelper; + private readonly Configurations _configuration; + private readonly string _databaseName; + private readonly MongoClient _client; + private readonly IMongoDatabase _database; + private readonly IMongoCollection<InferenceRequest> _infereRequestCollection; + private readonly IMongoCollection<Payload> _payloadCollection; + private readonly IMongoCollection<StorageMetadataWrapper> _storageMetadataWrapperCollection; + private readonly IMongoCollection<SourceApplicationEntity> _sourceApplicationEntityCollection; + private readonly IMongoCollection<DestinationApplicationEntity> _destinationApplicationEntityCollection; + private readonly IMongoCollection<MonaiApplicationEntity> _monaiApplicationEntityCollection; + + public MongoDBDataProvider(ISpecFlowOutputHelper outputHelper, Configurations configuration, string connectionString, string databaseName) + { + if (string.IsNullOrWhiteSpace(connectionString)) + { + throw new ArgumentException($"'{nameof(connectionString)}' cannot be null or whitespace.", nameof(connectionString)); + } + + if (string.IsNullOrWhiteSpace(databaseName)) + { + throw new ArgumentException($"'{nameof(databaseName)}' cannot be null or whitespace.", nameof(databaseName)); + } + + _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); + _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); + _databaseName = databaseName; + + _outputHelper.WriteLine($"Connecting to MongoDB at {connectionString}"); + _client = new MongoClient(connectionString); + _database = _client.GetDatabase(databaseName); + _infereRequestCollection = _database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + _payloadCollection = _database.GetCollection<Payload>(nameof(Payload)); + _storageMetadataWrapperCollection = _database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + _sourceApplicationEntityCollection = _database.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + _destinationApplicationEntityCollection = _database.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + _monaiApplicationEntityCollection = _database.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + } + + public void ClearAllData() + { + _outputHelper.WriteLine("Removing data from the database."); + DumpClear(_infereRequestCollection); + DumpClear(_payloadCollection); + DumpClear(_storageMetadataWrapperCollection); + DumpClear(_sourceApplicationEntityCollection); + DumpClear(_destinationApplicationEntityCollection); + DumpClear(_monaiApplicationEntityCollection); + _outputHelper.WriteLine("All data removed from the database."); + } + + private void DumpClear<T>(IMongoCollection<T> collection) + { + _outputHelper.WriteLine($"==={collection.CollectionNamespace.FullName}==="); + foreach (var item in collection.AsQueryable()) + { + _outputHelper.WriteLine(item.ToString()); + } + + collection.DeleteMany("{ }"); + + if (collection.Find("{ }").CountDocuments() > 0) + { + throw new Exception("Failed to delete documents"); + } + _outputHelper.WriteLine($"Data removed from the collection {collection.CollectionNamespace.FullName}."); + } + + public async Task<string> InjectAcrRequest() + { + var request = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString("N"), + State = InferenceRequestState.InProcess, + OutputResources = new List<RequestOutputDataResource>() + { + new RequestOutputDataResource + { + Interface = InputInterfaceType.DicomWeb, + ConnectionDetails = new DicomWebConnectionDetails + { + Uri = _configuration.OrthancOptions.DicomWebRoot, + AuthId = _configuration.OrthancOptions.GetBase64EncodedAuthHeader(), + AuthType = ConnectionAuthType.Basic + } + } + } + }; + + await _infereRequestCollection.InsertOneAsync(request).ConfigureAwait(false); + _outputHelper.WriteLine($"Injected ACR request {request.TransactionId}"); + Console.WriteLine($"Injected ACR request {request.TransactionId}"); + return request.TransactionId; + } + } +} diff --git a/tests/Integration.Test/Drivers/RabbitMqConsumer.cs b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs index cff8b6a32..c3955d2ce 100644 --- a/tests/Integration.Test/Drivers/RabbitMqConsumer.cs +++ b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs @@ -30,8 +30,7 @@ internal class RabbitMqConsumer : IDisposable private readonly ConcurrentBag<Message> _messages; private bool _disposedValue; - public IReadOnlyList<Message> Messages - { get { return _messages.ToList(); } } + public IReadOnlyList<Message> Messages { get { return _messages.ToList(); } } public CountdownEvent MessageWaitHandle { get; private set; } public RabbitMqConsumer(RabbitMQMessageSubscriberService subscriberService, string queueName, ISpecFlowOutputHelper outputHelper) diff --git a/tests/Integration.Test/Hooks/TestHooks.cs b/tests/Integration.Test/Hooks/TestHooks.cs index 4c5171b98..050424914 100644 --- a/tests/Integration.Test/Hooks/TestHooks.cs +++ b/tests/Integration.Test/Hooks/TestHooks.cs @@ -16,7 +16,6 @@ using System.Diagnostics; using BoDi; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -25,7 +24,6 @@ using Monai.Deploy.InformaticsGateway.Client; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Database; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Integration.Test.Common; using Monai.Deploy.InformaticsGateway.Integration.Test.Drivers; using Monai.Deploy.InformaticsGateway.Repositories; @@ -43,7 +41,7 @@ public sealed class TestHooks private static RabbitMQMessagePublisherService s_rabbitMqPublisher; private static RabbitMqConsumer s_rabbitMqConsumer_WorkflowRequest; private static RabbitMqConsumer s_rabbitMqConsumer_ExportComplete; - private static EfDataProvider s_database; + private static IDatabaseDataProvider s_database; private static DicomScp s_dicomServer; private static DataProvider s_dataProvider; private static Assertions s_assertions; @@ -62,9 +60,6 @@ public TestHooks(IObjectContainer objectContainer) _objectContainer = objectContainer; } - /// <summary> - /// Runs before all tests to create static implementions of Rabbit and Mongo clients as well as starting the WorkflowManager using WebApplicationFactory. - /// </summary> [BeforeTestRun(Order = 0)] public static void Init(ISpecFlowOutputHelper outputHelper) { @@ -75,6 +70,7 @@ public static void Init(ISpecFlowOutputHelper outputHelper) SetupRabbitMq(outputHelper, scope); s_database = GetDatabase(scope.ServiceProvider, outputHelper); + s_database.ClearAllData(); s_dicomServer = new DicomScp(outputHelper); s_dataProvider = new DataProvider(Configurations.Instance, outputHelper); s_assertions = new Assertions(Configurations.Instance, s_options.Value, outputHelper); @@ -134,17 +130,27 @@ private static void SetupRabbitMq(ISpecFlowOutputHelper outputHelper, IServiceSc s_rabbitMqConsumer_ExportComplete = new RabbitMqConsumer(rabbitMqSubscriber_ExportComplete, s_options.Value.Messaging.Topics.ExportComplete, outputHelper); } - private static EfDataProvider GetDatabase(IServiceProvider serviceProvider, ISpecFlowOutputHelper outputHelper) + private static IDatabaseDataProvider GetDatabase(IServiceProvider serviceProvider, ISpecFlowOutputHelper outputHelper) { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false) + .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("DOTNET_TEST")}.json", optional: true, reloadOnChange: false) .Build(); - var connectionString = config.GetSection("ConnectionStrings:InformaticsGatewayDatabase").Value; + var dbType = config.GetSection("ConnectionStrings:Type").Value; - var builder = new DbContextOptionsBuilder<InformaticsGatewayContext>(); - builder.UseSqlite(connectionString); - var dbContext = new InformaticsGatewayContext(builder.Options); - return new EfDataProvider(outputHelper, Configurations.Instance, dbContext); + if (dbType == DatabaseManager.DbType_Sqlite) + { + var connectionString = config.GetSection("ConnectionStrings:InformaticsGatewayDatabase").Value; + return new EfDataProvider(outputHelper, Configurations.Instance, connectionString); + } + else if (dbType == DatabaseManager.DbType_MongoDb) + { + var connectionString = config.GetSection("ConnectionStrings:InformaticsGatewayDatabase").Value; + var databaseName = config.GetSection("ConnectionStrings:DatabaseName").Value; + return new MongoDBDataProvider(outputHelper, Configurations.Instance, connectionString, databaseName); + } + + throw new Exception("Unknown database specified"); } [BeforeScenario(Order = 0)] @@ -179,12 +185,14 @@ public static void Shtudown() s_rabbitMqConnectionFactory.Dispose(); } + [AfterTestRun(Order = 0)] [AfterScenario] public static void ClearTestData(ISpecFlowOutputHelper outputHelper) { s_minioSink.CleanBucketAsync(); RabbitConnectionFactory.PurgeAllQueues(s_options.Value.Messaging); + s_database.ClearAllData(); outputHelper.WriteLine($"=============================== END ==============================="); } diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index 278934b90..d6dd8681a 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,20 +20,21 @@ <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.10" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.10" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.17-rc0020" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.16" /> <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> @@ -71,6 +72,21 @@ <None Include="./nlog.config" CopyToOutputDirectory="Always" /> </ItemGroup> + <ItemGroup> + <None Update="appsettings.mongodb.json"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="appsettings.ef.json"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="appsettings.ext.json"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="appsettings.json"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + </ItemGroup> + <Target Name="CopyPluginsBuild" AfterTargets="Build"> <ItemGroup> <PluginDlls Include="$(OutDir)Monai.Deploy.Messaging.RabbitMQ.dll;$(OutDir)Monai.Deploy.Storage.MinIO.dll;$(OutDir)Minio.dll" /> @@ -85,8 +101,7 @@ </PropertyGroup> <Message Importance="High" Text="Copying $(STUDYJSON) to $(OutDir)" /> <Delete Files="$(OutDir)appsettings.Development.json" /> - <Copy OverwriteReadOnlyFiles="true" SourceFiles="appsettings.json" DestinationFolder="$(OutDir)" /> - <Copy OverwriteReadOnlyFiles="true" SourceFiles="appsettings.ext.json" DestinationFolder="$(OutDir)" /> + <Delete Files="$(OutDir)mig.db" /> <Copy OverwriteReadOnlyFiles="true" SourceFiles="$(STUDYJSON)" DestinationFiles="$(OutDir)\study.json" /> </Target> </Project> diff --git a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs index 2084380e7..82b1d6bc4 100644 --- a/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/DicomDimseScpServicesStepDefinitions.cs @@ -55,7 +55,7 @@ public DicomDimseScpServicesStepDefinitions( [Given(@"a calling AE Title '([^']*)'")] public async Task GivenACallingAETitle(string callingAeTitle) { - Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); + Guard.Against.NullOrWhiteSpace(callingAeTitle); try { @@ -83,9 +83,9 @@ await _informaticsGatewayClient.DicomSources.Create(new SourceApplicationEntity [Given(@"(.*) (.*) studies with (.*) series per study")] public void GivenXStudiesWithYSeriesPerStudy(int studyCount, string modality, int seriesPerStudy) { - Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); - Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); - Guard.Against.NegativeOrZero(seriesPerStudy, nameof(seriesPerStudy)); + Guard.Against.NegativeOrZero(studyCount); + Guard.Against.NullOrWhiteSpace(modality); + Guard.Against.NegativeOrZero(seriesPerStudy); _dataProvider.GenerateDicomData(modality, studyCount, seriesPerStudy); _receivedMessages.SetupMessageHandle(_dataProvider.DicomSpecs.NumberOfExpectedRequests(_dataProvider.StudyGrouping)); @@ -94,9 +94,9 @@ public void GivenXStudiesWithYSeriesPerStudy(int studyCount, string modality, in [Given(@"a called AE Title named '([^']*)' that groups by '([^']*)' for (.*) seconds")] public async Task GivenACalledAETitleNamedThatGroupsByForSeconds(string calledAeTitle, string grouping, uint groupingTimeout) { - Guard.Against.NullOrWhiteSpace(calledAeTitle, nameof(calledAeTitle)); - Guard.Against.NullOrWhiteSpace(grouping, nameof(grouping)); - Guard.Against.NegativeOrZero(groupingTimeout, nameof(groupingTimeout)); + Guard.Against.NullOrWhiteSpace(calledAeTitle); + Guard.Against.NullOrWhiteSpace(grouping); + Guard.Against.NegativeOrZero(groupingTimeout); _dataProvider.StudyGrouping = grouping; try @@ -128,9 +128,9 @@ await _informaticsGatewayClient.MonaiScpAeTitle.Create(new MonaiApplicationEntit [When(@"a C-ECHO-RQ is sent to '([^']*)' from '([^']*)' with timeout of (.*) seconds")] public async Task WhenAC_ECHO_RQIsSentToFromWithTimeoutOfSeconds(string calledAeTitle, string callingAeTitle, int clientTimeoutSeconds) { - Guard.Against.NullOrWhiteSpace(calledAeTitle, nameof(calledAeTitle)); - Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); - Guard.Against.NegativeOrZero(clientTimeoutSeconds, nameof(clientTimeoutSeconds)); + Guard.Against.NullOrWhiteSpace(calledAeTitle); + Guard.Against.NullOrWhiteSpace(callingAeTitle); + Guard.Against.NegativeOrZero(clientTimeoutSeconds); var echoScu = _objectContainer.Resolve<IDataClient>("EchoSCU"); await echoScu.SendAsync( @@ -151,10 +151,10 @@ public void ThenASuccessfulResponseShouldBeReceived() [When(@"a C-STORE-RQ is sent to '([^']*)' with AET '([^']*)' from '([^']*)' with timeout of (.*) seconds")] public async Task WhenAC_STORE_RQIsSentToWithAETFromWithTimeoutOfSeconds(string application, string calledAeTitle, string callingAeTitle, int clientTimeoutSeconds) { - Guard.Against.NullOrWhiteSpace(application, nameof(application)); - Guard.Against.NullOrWhiteSpace(calledAeTitle, nameof(calledAeTitle)); - Guard.Against.NullOrWhiteSpace(callingAeTitle, nameof(callingAeTitle)); - Guard.Against.NegativeOrZero(clientTimeoutSeconds, nameof(clientTimeoutSeconds)); + Guard.Against.NullOrWhiteSpace(application); + Guard.Against.NullOrWhiteSpace(calledAeTitle); + Guard.Against.NullOrWhiteSpace(callingAeTitle); + Guard.Against.NegativeOrZero(clientTimeoutSeconds); var storeScu = _objectContainer.Resolve<IDataClient>("StoreSCU"); diff --git a/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs index e12ad25d9..bf383b356 100644 --- a/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/DicomWebStowServiceStepDefinitions.cs @@ -46,8 +46,8 @@ public DicomWebStowServiceStepDefinitions(ObjectContainer objectContainer, Confi [Given(@"(.*) (.*) studies with '(.*)' grouping")] public void GivenNStudies(int studyCount, string modality, string grouping) { - Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); - Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); + Guard.Against.NegativeOrZero(studyCount); + Guard.Against.NullOrWhiteSpace(modality); _dataProvider.GenerateDicomData(modality, studyCount); _dataProvider.StudyGrouping = grouping; @@ -57,7 +57,7 @@ public void GivenNStudies(int studyCount, string modality, string grouping) [Given(@"a workflow named '(.*)'")] public void GivenNStudies(string workflowName) { - Guard.Against.NullOrWhiteSpace(workflowName, nameof(workflowName)); + Guard.Against.NullOrWhiteSpace(workflowName); _dataProvider.Workflows = new string[] { workflowName }; } @@ -65,7 +65,7 @@ public void GivenNStudies(string workflowName) [When(@"the studies are uploaded to the DICOMWeb STOW-RS service at '([^']*)'")] public async Task WhenStudiesAreUploadedToTheDicomWebStowRSServiceWithoutStudyInstanceUID(string endpoint) { - Guard.Against.NullOrWhiteSpace(endpoint, nameof(endpoint)); + Guard.Against.NullOrWhiteSpace(endpoint); await _dataSink.SendAsync(_dataProvider, $"{_configurations.InformaticsGatewayOptions.ApiEndpoint}{endpoint}", _dataProvider.Workflows, async (DicomWebClient dicomWebClient, DicomDataSpecs specs) => { @@ -77,7 +77,7 @@ await _dataSink.SendAsync(_dataProvider, $"{_configurations.InformaticsGatewayOp [When(@"the studies are uploaded to the DICOMWeb STOW-RS service at '([^']*)' with StudyInstanceUid")] public async Task WhenStudiesAreUploadedToTheDicomWebStowRSServiceWithStudyInstanceUID(string endpoint) { - Guard.Against.NullOrWhiteSpace(endpoint, nameof(endpoint)); + Guard.Against.NullOrWhiteSpace(endpoint); await _dataSink.SendAsync(_dataProvider, $"{_configurations.InformaticsGatewayOptions.ApiEndpoint}{endpoint}", _dataProvider.Workflows, async (DicomWebClient dicomWebClient, DicomDataSpecs specs) => { diff --git a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs index df320ff20..b78d655e9 100644 --- a/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/ExportServicesStepDefinitions.cs @@ -36,8 +36,7 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class DicomDimseScuServicesStepDefinitions { - internal static readonly TimeSpan DicomScpWaitTimeSpan = TimeSpan.FromMinutes(7); - internal static readonly TimeSpan DicomWebWaitTimeSpan = TimeSpan.FromMinutes(2); + internal static readonly TimeSpan DicomScpWaitTimeSpan = TimeSpan.FromMinutes(3); private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; private readonly Configurations _configuration; private readonly DicomScp _dicomServer; @@ -104,8 +103,8 @@ public async Task GivenDICOMInstances() [Given(@"(.*) (.*) studies for export")] public async Task GivenDICOMInstances(int studyCount, string modality) { - Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); - Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); + Guard.Against.NegativeOrZero(studyCount); + Guard.Against.NullOrWhiteSpace(modality); _dataProvider.GenerateDicomData(modality, studyCount); await _dataSink.SendAsync(_dataProvider); @@ -115,7 +114,7 @@ public async Task GivenDICOMInstances(int studyCount, string modality) [When(@"a export request is sent for '([^']*)'")] public void WhenAExportRequestIsReceivedDesignatedFor(string routingKey) { - Guard.Against.NullOrWhiteSpace(routingKey, nameof(routingKey)); + Guard.Against.NullOrWhiteSpace(routingKey); var exportRequestEvent = new ExportRequestEvent { @@ -179,7 +178,7 @@ public async Task ThenExportTheInstancesToOrthanc() }, (Dictionary<string, string> expected) => { return expected.Count == _dataProvider.DicomSpecs.FileHashes.Count; - }, DicomWebWaitTimeSpan, 1000); + }, DicomScpWaitTimeSpan, 1000); result.Should().NotBeNull().And.HaveCount(_dataProvider.DicomSpecs.FileHashes.Count); } diff --git a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs index 39c7a91d2..ab38d8c6b 100644 --- a/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/FhirDefinitions.cs @@ -53,8 +53,8 @@ public FhirDefinitions(ObjectContainer objectContainer) [Given(@"FHIR message (.*) in (.*)")] public async Task GivenHl7MessagesInVersionX(string version, string format) { - Guard.Against.NullOrWhiteSpace(version, nameof(version)); - Guard.Against.NullOrWhiteSpace(format, nameof(format)); + Guard.Against.NullOrWhiteSpace(version); + Guard.Against.NullOrWhiteSpace(format); await _dataProvider.GenerateFhirMessages(version, format); _receivedMessages.SetupMessageHandle(_dataProvider.FhirSpecs.Files.Count); diff --git a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs index c6fa0de60..53436dfd5 100644 --- a/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs +++ b/tests/Integration.Test/StepDefinitions/HealthLevel7Definitions.cs @@ -25,7 +25,7 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.StepDefinitions [CollectionDefinition("SpecFlowNonParallelizableFeatures", DisableParallelization = true)] public class HealthLevel7Definitions { - internal static readonly TimeSpan WaitTimeSpan = TimeSpan.FromMinutes(2); + internal static readonly TimeSpan WaitTimeSpan = TimeSpan.FromMinutes(3); private readonly DataProvider _dataProvider; private readonly RabbitMqConsumer _receivedMessages; private readonly IDataClient _dataSink; @@ -47,7 +47,7 @@ public HealthLevel7Definitions(ObjectContainer objectContainer) [Given(@"HL7 messages in version (.*)")] public async Task GivenHl7MessagesInVersionX(string version) { - Guard.Against.NullOrWhiteSpace(version, nameof(version)); + Guard.Against.NullOrWhiteSpace(version); await _dataProvider.GenerateHl7Messages(version); _receivedMessages.SetupMessageHandle(1); } diff --git a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs index 642b9a1e1..7c362328a 100644 --- a/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs +++ b/tests/Integration.Test/StepDefinitions/SharedDefinitions.cs @@ -48,8 +48,8 @@ public SharedDefinitions(ObjectContainer objectContainer) [Given(@"(.*) (.*) studies")] public void GivenNStudies(int studyCount, string modality) { - Guard.Against.NegativeOrZero(studyCount, nameof(studyCount)); - Guard.Against.NullOrWhiteSpace(modality, nameof(modality)); + Guard.Against.NegativeOrZero(studyCount); + Guard.Against.NullOrWhiteSpace(modality); _dataProvider.GenerateDicomData(modality, studyCount); @@ -59,7 +59,7 @@ public void GivenNStudies(int studyCount, string modality) [Then(@"(.*) workflow requests sent to message broker")] public void ThenWorkflowRequestSentToMessageBroker(int workflowCount) { - Guard.Against.NegativeOrZero(workflowCount, nameof(workflowCount)); + Guard.Against.NegativeOrZero(workflowCount); _receivedMessages.MessageWaitHandle.Wait(MessageWaitTimeSpan).Should().BeTrue(); _assertions.ShouldHaveCorrectNumberOfWorkflowRequestMessages(_dataProvider, _receivedMessages.Messages, workflowCount); diff --git a/tests/Integration.Test/appsettings.ef.json b/tests/Integration.Test/appsettings.ef.json new file mode 100644 index 000000000..815564b9d --- /dev/null +++ b/tests/Integration.Test/appsettings.ef.json @@ -0,0 +1,6 @@ +{ + "ConnectionStrings": { + "Type": "sqlite", + "InformaticsGatewayDatabase": "Data Source=./mig.db" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/appsettings.json b/tests/Integration.Test/appsettings.json index 365be1aa9..ad6e43660 100644 --- a/tests/Integration.Test/appsettings.json +++ b/tests/Integration.Test/appsettings.json @@ -1,7 +1,8 @@ { "ConnectionStrings": { - "Type": "Sqlite", - "InformaticsGatewayDatabase": "Data Source=./mig.db" + "Type": "mongodb", + "InformaticsGatewayDatabase": "mongodb://root:rootpassword@localhost:27017", + "DatabaseName": "InformaticsGateway" }, "InformaticsGateway": { "dicom": { @@ -19,7 +20,7 @@ "messaging": { "publisherServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessagePublisherService, Monai.Deploy.Messaging.RabbitMQ", "publisherSettings": { - "endpoint": "localhost", + "endpoint": "127.0.0.1", "username": "rabbitmq", "password": "rabbitmq", "virtualHost": "monaideploy", @@ -27,7 +28,7 @@ }, "subscriberServiceAssemblyName": "Monai.Deploy.Messaging.RabbitMQ.RabbitMQMessageSubscriberService, Monai.Deploy.Messaging.RabbitMQ", "subscriberSettings": { - "endpoint": "localhost", + "endpoint": "127.0.0.1", "username": "rabbitmq", "password": "rabbitmq", "virtualHost": "monaideploy", @@ -47,7 +48,7 @@ "watermarkPercent": 99, "reserveSpaceGB": 1, "settings": { - "endpoint": "localhost:9000", + "endpoint": "127.0.0.1:9000", "accessKey": "minioadmin", "accessToken": "minioadmin", "securedConnection": false, @@ -76,7 +77,7 @@ "HostPlugInsStorageMount": "~/.mig/plug-ins", "HostDatabaseStorageMount": "~/.mig/database", "HostLogsStorageMount": "~/.mig/logs", - "InformaticsGatewayServerEndpoint": "http://localhost:5000", + "InformaticsGatewayServerEndpoint": "http://127.0.0.1:5000", "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } } \ No newline at end of file diff --git a/tests/Integration.Test/appsettings.mongodb.json b/tests/Integration.Test/appsettings.mongodb.json new file mode 100644 index 000000000..93e9973e5 --- /dev/null +++ b/tests/Integration.Test/appsettings.mongodb.json @@ -0,0 +1,7 @@ +{ + "ConnectionStrings": { + "Type": "mongodb", + "InformaticsGatewayDatabase": "mongodb://root:rootpassword@localhost:27017", + "DatabaseName": "InformaticsGateway" + } +} \ No newline at end of file diff --git a/tests/Integration.Test/nlog.config b/tests/Integration.Test/nlog.config index 446bba029..b987aba2f 100644 --- a/tests/Integration.Test/nlog.config +++ b/tests/Integration.Test/nlog.config @@ -33,15 +33,7 @@ limitations under the License. <targets async="true"> <!-- File Target for all log messages with basic details --> - <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" > - <layout xsi:type="JsonLayout" includeEventProperties="true" includeScopeProperties="true"> - <attribute name="timestamp" layout="${date:format=o}" /> - <attribute name="level" layout="${level:upperCase=true}"/> - <attribute name="logger" layout="${logger}" /> - <attribute name="message" layout="${message:raw=true}" /> - <attribute name="properties" layout="${message:raw=true}" /> - </layout> - </target> + <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection --> @@ -65,9 +57,10 @@ limitations under the License. </targets> <!-- rules to map from logger name to target --> - <rules> + <rules> <!--All logs, including from Microsoft--> - <logger name="*" minlevel="Trace" writeTo="allfile" /> + <logger name="*" minlevel="Debug" writeTo="allfile" /> + <logger name="Monai.Deploy.InformaticsGateway.Services.Connectors.PayloadMoveActionHandler" minlevel="Trace" writeTo="allfile" /> <!--Output hosting lifetime messages to console target for faster startup detection --> <logger name="Microsoft.EntityFrameworkCore" minlevel="Warn" writeTo="lifetimeConsole" final="false" /> diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json new file mode 100644 index 000000000..bdb8c7a3a --- /dev/null +++ b/tests/Integration.Test/packages.lock.json @@ -0,0 +1,1861 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "FluentAssertions": { + "type": "Direct", + "requested": "[6.8.0, )", + "resolved": "6.8.0", + "contentHash": "NfSlAG97wMxS48Ov+wQEhJITdn4bKrgtKrG4sCPrFBVKozpC57lQ2vzsPdxUOsPbfEgEQTMtvCDECxIlDBfgNA==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "fo-dicom": { + "type": "Direct", + "requested": "[5.0.3, )", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "HL7-dotnetcore": { + "type": "Direct", + "requested": "[2.29.0, )", + "resolved": "2.29.0", + "contentHash": "E0N/W72HsvIJj6XGyiUv9BHmyhvkNedpa23QN/Xwk47S965NYC9JSA1VVYWAAs4J6yOIhpM3lBOEWvhQBO31Lw==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", + "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Minio": { + "type": "Direct", + "requested": "[4.0.6, )", + "resolved": "4.0.6", + "contentHash": "c/7hO1I0/PB1hJr7HXuNxsTT59xi4ADPxHhGtv7zzTNZqDqq+Vgv+C8xSJ6rlIy4px7ibhMt6Kunq20ZBlLj4Q==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1", + "System.Net.Http": "4.3.4", + "System.Net.Primitives": "4.3.1", + "System.Reactive.Linq": "5.0.0", + "System.ValueTuple": "4.4.0" + } + }, + "Monai.Deploy.Messaging.RabbitMQ": { + "type": "Direct", + "requested": "[0.1.16, )", + "resolved": "0.1.16", + "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "dependencies": { + "Monai.Deploy.Messaging": "0.1.16", + "Polly": "7.2.3", + "RabbitMQ.Client": "6.4.0", + "System.Collections.Concurrent": "4.3.0" + } + }, + "Monai.Deploy.Storage.MinIO": { + "type": "Direct", + "requested": "[0.2.10, )", + "resolved": "0.2.10", + "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Minio": "4.0.6", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.S3Policy": "0.2.10" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "Polly": { + "type": "Direct", + "requested": "[7.2.3, )", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "RabbitMQ.Client": { + "type": "Direct", + "requested": "[6.4.0, )", + "resolved": "6.4.0", + "contentHash": "1znR1gGU+xYVSpO5z8nQolcUKA/yydnxQn7Ug9+RUXxTSLMm/eE58VKGwahPBjELXvDnX0k/kBrAitFLRjx9LA==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "SpecFlow.Plus.LivingDocPlugin": { + "type": "Direct", + "requested": "[3.9.57, )", + "resolved": "3.9.57", + "contentHash": "hH/jTxLVWS/QlCGvNMk4BSI/mcJhlnEjx4xWjP4dLUWek/CmSST49NAzQVvZpoqwrkIErMAzWRV/PFFvyLiShA==", + "dependencies": { + "SpecFlow": "[3.9.8, 3.10.0)", + "SpecFlow.Internal.Json": "1.0.8", + "SpecFlow.Tools.MsBuild.Generation": "[3.9.8, 3.10.0)" + } + }, + "SpecFlow.xUnit": { + "type": "Direct", + "requested": "[3.9.74, )", + "resolved": "3.9.74", + "contentHash": "W7/wbiYCbWGIVXprjvwnxoCv23hMzmNmIO28ZggAW0jtdbReiu9T8znV6TWPtdzABF44l560XIvtOSrvdmotiw==", + "dependencies": { + "SpecFlow": "[3.9.74]", + "SpecFlow.Tools.MsBuild.Generation": "[3.9.74]", + "Xunit.SkippableFact": "1.3.12", + "xunit.core": "2.4.0" + } + }, + "System.Linq.Async": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "BoDi": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "CzIPzdIAFSd2zuLxI+0K9s48Qv3HQDbWiApn9h96j284rHs2bSPrn/PMca3mi4q3xLSEqOp+GUJ6+mXDD9prKg==" + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "DotNext": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "DotNext.Threading": { + "type": "Transitive", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "dependencies": { + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" + } + }, + "fo-dicom.NLog": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "k35FD+C9IcpTLjCF5tvCkBGUxJ+YvzoBsgb2VAtGQv+aVTu+HyoCnNVqccc4lVE53fbVCwpR3gPiTAnm5fm+KQ==", + "dependencies": { + "NLog": "4.7.11", + "fo-dicom": "5.0.3" + } + }, + "Gherkin": { + "type": "Transitive", + "resolved": "19.0.3", + "contentHash": "kq9feqMojMj9aABrHb/ABEPaH2Y4dSclseSahAru6qxCeqVQNLLTgw/6vZMauzI1yBUL2fz03ub5yEd5btLfvg==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "3.3.1", + "contentHash": "wkPTc/UEuSAwbO3/Ee+oCdotxncmc/DKwjM533Z0BKvJm94NLOvU2i7pifgMd6uAUJ8jy69OcFZRu7hXKbMW6g==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.AspNet.WebApi.Client": { + "type": "Transitive", + "resolved": "5.2.9", + "contentHash": "cuVhPjjNMSEFpKXweMNBbsG4RUFuuZpFBm8tSyw309U9JEjcnbB6n3EPb4xwgcy9bJ38ctIbv5G8zXUBhlrPWw==", + "dependencies": { + "Newtonsoft.Json": "10.0.1", + "Newtonsoft.Json.Bson": "1.0.1" + } + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.Data.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.EntityFrameworkCore.Relational": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Sqlite.Core": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "dependencies": { + "Microsoft.Data.Sqlite.Core": "6.0.11", + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.DependencyModel": "6.0.0" + } + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "6.0.5", + "contentHash": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Http": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "15+pa2G0bAMHbHewaQIdr/y6ag2H3yh4rd9hTXavtWDzQBkvpe2RMqFg8BxDpcQWssmjmBApGPcw93QRz6YcMg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Net.Http.Headers": { + "type": "Transitive", + "resolved": "2.2.8", + "contentHash": "wHdwMv0QDDG2NWDSwax9cjkeQceGC1Qq53a31+31XpvTXVljKXRjWISlMoS/wZYKiqdqzuEvKFKwGHl+mt2jCA==", + "dependencies": { + "Microsoft.Extensions.Primitives": "2.2.0", + "System.Buffers": "4.5.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.3", + "contentHash": "3Wrmi0kJDzClwAC+iBdUBpEKmEle8FQNsCs77fkiOIw/9oYA07bL1EZNX0kQ2OMN3xpwvl0vAtOCYY3ndDNlhQ==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.1", + "contentHash": "5PYT/IqQ+UK31AmZiSS102R6EsTo+LGTSI8bp7WAUqDKaF4wHXD8U9u4WxTI1vc64tYi++8p3dk3WWNqPFgldw==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "10.0.1" + } + }, + "NLog": { + "type": "Transitive", + "resolved": "5.0.5", + "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + }, + "NLog.Extensions.Logging": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "NLog": "5.0.5" + } + }, + "NLog.Web.AspNetCore": { + "type": "Transitive", + "resolved": "5.1.5", + "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "dependencies": { + "NLog.Extensions.Logging": "5.1.0" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "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": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "SpecFlow": { + "type": "Transitive", + "resolved": "3.9.74", + "contentHash": "n6kcg9ZeQWxqJFoT23SsFT89U1QQNwvcN9pAX5alB6ZPr6K0p5D5nGIJ1PZsSaFaRFutiwQ+DicmxBCPAZVYIA==", + "dependencies": { + "BoDi": "1.5.0", + "Gherkin": "19.0.3", + "Microsoft.Extensions.DependencyModel": "1.0.3", + "SpecFlow.Internal.Json": "1.0.8", + "System.Configuration.ConfigurationManager": "4.5.0", + "System.Net.Http": "4.3.4", + "System.Runtime.Loader": "4.3.0" + } + }, + "SpecFlow.Internal.Json": { + "type": "Transitive", + "resolved": "1.0.8", + "contentHash": "lVCC/Rie7N5rFoc7YxPS0nneLfsWSTIMMlkndwxhaD8MxBp3Bsv1HeiVjVwXCjWaQeoqZcvIy52fF5Xit00ZLw==" + }, + "SpecFlow.Tools.MsBuild.Generation": { + "type": "Transitive", + "resolved": "3.9.74", + "contentHash": "I/9OvmKOohJqIUNJ0xGYJCWfL6WKDaes8OoOAD/2yhGX+tzC5ofs9yqkP9Cu/xfnIx+11IR3pZs7YhBhGAcgWQ==", + "dependencies": { + "SpecFlow": "[3.9.74]" + } + }, + "SQLitePCLRaw.bundle_e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6", + "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", + "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + } + }, + "SQLitePCLRaw.core": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "dependencies": { + "System.Memory": "4.5.3" + } + }, + "SQLitePCLRaw.lib.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + }, + "SQLitePCLRaw.provider.e_sqlite3": { + "type": "Transitive", + "resolved": "2.0.6", + "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "dependencies": { + "SQLitePCLRaw.core": "2.0.6" + } + }, + "Swashbuckle.AspNetCore": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.4.0", + "contentHash": "1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Security.Permissions": "4.5.0" + } + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "OHzPhSme78BbmLe9UBxHM69ZYjClS5URuhce6Ta4ikiLgaUGiG/X84fZpI6zy7CsUH5R9cYzI2tv9dWPqdTkUg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3", + "System.Runtime": "4.3.1", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "erBZjkQHWL9jpasCE/0qKAryzVBJFxGHVBAvgRN1bzM0q2s1S4oYREEEL0Vb+1kA/6BKb5FjUZMp5VXmy+gzkQ==" + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "IB4/qlV4T1WhZvM11RVoFUSZXPow9VWVeQ1uDkSKgz6bAO+gCf65H/vjrYlwyXmojSSxvfHndF9qdH43P/IuAw==", + "dependencies": { + "System.Reactive": "5.0.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.1", + "contentHash": "abhfv1dTK6NXOmu4bgHIONxHyEqFjW8HwXPmpY9gmll+ix9UNo4XDcmzJn6oLooftxNssVHdJC1pGT9jkSynQg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "Microsoft.NETCore.Targets": "1.1.3" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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.Loader": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHMaRn8D8YCK2GG2pw+UzNxn/OHVfaWx7OTLBD/hPegHZZgcZh3H6seWegrC4BYwsfuGrywIuT+MQs+rPqRLTQ==", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Security.Permissions": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "dependencies": { + "System.Security.AccessControl": "4.5.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.7", + "contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.ValueTuple": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" + }, + "Validation": { + "type": "Transitive", + "resolved": "2.4.18", + "contentHash": "NfvWJ1QeuZ1FQCkqgXTu1cOkRkbNCfxs4Tat+abXLwom6OXbULVhRGp34BTvVB4XPxj6VIAl7KfLfStXMt/Ehw==" + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "Xunit.SkippableFact": { + "type": "Transitive", + "resolved": "1.3.12", + "contentHash": "CQETcfKyEq6Uki9pExNZI5sEHeKqdt9Fc4pdLHu1mgaboQp0aI4W45M+UUnG6Zc2hxWTDmbD2AFVKA1wjU19YA==", + "dependencies": { + "Validation": "2.4.18", + "xunit.extensibility.execution": "2.4.0" + } + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "Monai.Deploy.Storage.MinIO": "0.2.10", + "NLog": "5.0.5", + "NLog.Web.AspNetCore": "5.1.5", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.client": { + "type": "Project", + "dependencies": { + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.client.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.entityframework": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + }, + "monai.deploy.informaticsgateway.dicomweb.client": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" + } + } + } + } +} \ No newline at end of file diff --git a/tests/Integration.Test/run.sh b/tests/Integration.Test/run.sh index 0e05b5f93..5bbbd9e79 100755 --- a/tests/Integration.Test/run.sh +++ b/tests/Integration.Test/run.sh @@ -19,7 +19,6 @@ export VSTEST_HOST_DEBUG=0 export SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" DOCKER_COMPOSE_DIR="$SCRIPT_DIR/../../docker-compose" -RUN_DIR="$DOCKER_COMPOSE_DIR/.run" TEST_DIR="$SCRIPT_DIR/" LOG_DIR="${GITHUB_WORKSPACE:-$SCRIPT_DIR}" BIN_DIR="$TEST_DIR/bin/Release/net6.0" @@ -48,9 +47,6 @@ function check_status_code() { function env_setup() { [ -f $LOG_DIR/run.log ] && info "Deletig existing $LOG_DIR/run.log" && sudo rm $LOG_DIR/run.log - [ -d $RUN_DIR ] && info "Removing $RUN_DIR..." && sudo rm -r $RUN_DIR - mkdir -p $RUN_DIR - [ -d $BIN_DIR ] && info "Removing $BIN_DIR..." && sudo rm -r $BIN_DIR SHORT=f:,d @@ -105,15 +101,12 @@ function start_services() { info "Starting dependencies docker compose up -d --force-recreate..." pushd $DOCKER_COMPOSE_DIR ./init.sh - docker compose -p igtest up -d --force-recreate + docker compose -p igtest up -d --force-recreate --wait popd info "=============================================" docker container ls --format 'table {{.Names}}\t{{.ID}}' | grep igtest- info "=============================================" - - sleep 1 - sudo chown -R $USER:$USER $RUN_DIR } function run_test() { @@ -143,7 +136,6 @@ function generate_reports() { } function save_logs() { - [ -d $RUN_DIR ] && info "Clearning $RUN_DIR..." && sudo rm -r $RUN_DIR pushd $DOCKER_COMPOSE_DIR info "Saving service log..." docker compose -p igtest logs --no-color -t > "$LOG_DIR/services.log" @@ -155,6 +147,7 @@ function tear_down() { pushd $DOCKER_COMPOSE_DIR info "Stopping services..." docker compose -p igtest down --remove-orphans + sudo rm -r .run/ popd set -e } From 777473e674f8d782f37b2d8ecf9961dae4fd8ac3 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Fri, 18 Nov 2022 09:00:26 -0800 Subject: [PATCH 088/101] Improve validation for AET, IP & hostnames/domain names (#261) * Improve validation for AET, IP/Host Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .../Test/ValidationExtensionsTest.cs | 84 +++++++++++++++++++ src/Configuration/ValidationExtensions.cs | 15 +++- 2 files changed, 97 insertions(+), 2 deletions(-) diff --git a/src/Configuration/Test/ValidationExtensionsTest.cs b/src/Configuration/Test/ValidationExtensionsTest.cs index ec452a886..f93009408 100644 --- a/src/Configuration/Test/ValidationExtensionsTest.cs +++ b/src/Configuration/Test/ValidationExtensionsTest.cs @@ -15,6 +15,7 @@ */ using System; +using System.Collections.Generic; using FellowOakDicom; using Monai.Deploy.InformaticsGateway.Api; using Xunit; @@ -202,5 +203,88 @@ public void SourceApplicationEntity_Valid() } #endregion SourceApplicationEntity.IsValid + + #region IsAeTitleValid + [Theory] + [InlineData("123")] + [InlineData("MYAET")] + [InlineData("EAST-123-123")] + public void GivenAValidAETitle_WhenIIsAeTitleValid_ExpectToReturnTrue(string value) + { + var errors = new List<string>(); + Assert.True(ValidationExtensions.IsAeTitleValid("test", value, errors)); + Assert.Empty(errors); + } + + [Theory] + [InlineData("")] + [InlineData(" ")] + [InlineData("AE\\")] + [InlineData("AE/")] + [InlineData("1$")] + [InlineData("A.E.T.")] + public void GivenAnInvalidAETitle_WhenIsAeTitleValid_ExpectToReturnFalse(string value) + { + var errors = new List<string>(); + Assert.False(ValidationExtensions.IsAeTitleValid("test", value, errors)); + Assert.NotEmpty(errors); + } + + #endregion + + #region IsValidHostNameIp + [Theory] + [InlineData("0.0.0.0")] + [InlineData("10.20.30.40")] + [InlineData("255.255.255.0")] + [InlineData("1.2.3.4")] + [InlineData("192.168.0.1")] + public void GivenAValidIpAddress_WhenIsValidHostNameIpIsCalled_ExpectToReturnTrue(string value) + { + var errors = new List<string>(); + Assert.True(ValidationExtensions.IsValidHostNameIp("test", value, errors)); + Assert.Empty(errors); + } + + [Theory] + [InlineData("256.256.256.256")] + [InlineData("1.0")] + [InlineData("1")] + [InlineData("2.3.4")] + public void GivenAnInvalidIpAddress_WhenIsValidHostNameIpIsCalled_ExpectToReturnFalse(string value) + { + var errors = new List<string>(); + Assert.False(ValidationExtensions.IsValidHostNameIp("test", value, errors)); + Assert.NotEmpty(errors); + } + + [Theory] + [InlineData("localhost")] + [InlineData("east-1")] + [InlineData("east-2.k8s.local")] + [InlineData("cloud.com")] + [InlineData("east.cloud.com")] + [InlineData("super.west.cloud.com")] + [InlineData("example-mongodb-0.example-mongodb-svc.monai-deploy.svc.cluster.local")] + public void GivenAValidHostName_WhenIsValidHostNameIpIsCalled_ExpectToReturnTrue(string value) + { + var errors = new List<string>(); + Assert.True(ValidationExtensions.IsValidHostNameIp("test", value, errors)); + Assert.Empty(errors); + } + + [Theory] + [InlineData("localhost!")] + [InlineData("cloud@com")] + [InlineData("east@cloud.com")] + [InlineData("super/west.cloud.com")] + public void GivenAnInvalidHostName_WhenIsValidHostNameIpIsCalled_ExpectToReturnFalse(string value) + { + var errors = new List<string>(); + Assert.False(ValidationExtensions.IsValidHostNameIp("test", value, errors)); + Assert.NotEmpty(errors); + } + + #endregion } } diff --git a/src/Configuration/ValidationExtensions.cs b/src/Configuration/ValidationExtensions.cs index 9f064716e..e136a7572 100644 --- a/src/Configuration/ValidationExtensions.cs +++ b/src/Configuration/ValidationExtensions.cs @@ -17,6 +17,7 @@ using System.Collections.Generic; using System.Linq; +using System.Text.RegularExpressions; using Ardalis.GuardClauses; using FellowOakDicom; using Monai.Deploy.InformaticsGateway.Api; @@ -94,7 +95,12 @@ public static bool IsAeTitleValid(string source, string aeTitle, IList<string> v { Guard.Against.NullOrWhiteSpace(source); - if (!string.IsNullOrWhiteSpace(aeTitle) && aeTitle.Length <= 15) return true; + if (!string.IsNullOrWhiteSpace(aeTitle) && + aeTitle.Length <= 15 && + Regex.IsMatch(aeTitle, @"^[a-zA-Z0-9_\-]+$")) + { + return true; + } validationErrors?.Add($"'{aeTitle}' is not a valid AE Title (source: {source})."); return false; @@ -102,7 +108,12 @@ public static bool IsAeTitleValid(string source, string aeTitle, IList<string> v public static bool IsValidHostNameIp(string source, string hostIp, IList<string> validationErrors = null) { - if (!string.IsNullOrWhiteSpace(hostIp)) return true; + if (!string.IsNullOrWhiteSpace(hostIp) && + (Regex.IsMatch(hostIp, @"^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$") || // IP address + Regex.IsMatch(hostIp, @"^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$"))) // Host/domain name + { + return true; + } validationErrors?.Add($"Invalid host name/IP address '{hostIp}' specified for {source}."); return false; From fcd02475e18eeb4c2c8439151f7a64f59fc4cb35 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Mon, 21 Nov 2022 07:37:04 -0800 Subject: [PATCH 089/101] Add standalone integration test for MongoDB repositories (#262) * Add standalone integration test for MongoDB repositories * Update user guide with database configuration Signed-off-by: Victor Chang <vicchang@nvidia.com> --- .github/workflows/ci.yml | 8 + doc/dependency_decisions.yml | 27 +- docs/compliance/third-party-licenses.md | 8484 ++++++++--------- docs/docfx.json | 4 +- docs/setup/setup.md | 49 + src/Api/Test/packages.lock.json | 18 +- src/CLI/Test/packages.lock.json | 54 +- src/Client.Common/Test/packages.lock.json | 4 +- src/Client/Test/packages.lock.json | 160 +- src/Common/Test/packages.lock.json | 8 +- src/Configuration/Test/packages.lock.json | 32 +- .../Api/Repositories/IPayloadRepository.cs | 2 - .../Test/StorageMetadataWrapperTest.cs | 3 +- src/Database/Api/Test/packages.lock.json | 40 +- .../Repositories/PayloadRepository.cs | 9 - .../Test/PayloadRepositoryTest.cs | 205 + .../Test/SqliteDatabaseFixture.cs | 1 + .../EntityFramework/Test/packages.lock.json | 56 +- ...tinationApplicationEntityRepositoryTest.cs | 166 + .../InferenceRequestRepositoryTest.cs | 272 + ...y.Database.MongoDB.Integration.Test.csproj | 47 + .../MonaiApplicationEntityRepositoryTest.cs | 170 + .../Integration.Test/MongoDatabaseFixture.cs | 117 + .../Integration.Test/PayloadRepositoryTest.cs | 211 + .../SourceApplicationEntityRepositoryTest.cs | 162 + .../StorageMetadataWrapperRepositoryTest.cs | 267 + .../MongoDB/Integration.Test/Usings.cs | 17 + .../Integration.Test/packages.lock.json | 1480 +++ ...InformaticsGateway.Database.MongoDB.csproj | 6 +- .../MongoDB/Repositories/PayloadRepository.cs | 10 - src/DicomWebClient/Test/packages.lock.json | 18 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 1 - .../Test/packages.lock.json | 61 - src/Monai.Deploy.InformaticsGateway.sln | 17 +- tests/Integration.Test/packages.lock.json | 160 +- 35 files changed, 7575 insertions(+), 4771 deletions(-) rename src/Database/{EntityFramework => Api}/Test/StorageMetadataWrapperTest.cs (97%) create mode 100644 src/Database/EntityFramework/Test/PayloadRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/DestinationApplicationEntityRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/InferenceRequestRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj create mode 100644 src/Database/MongoDB/Integration.Test/MonaiApplicationEntityRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs create mode 100644 src/Database/MongoDB/Integration.Test/PayloadRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/SourceApplicationEntityRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/StorageMetadataWrapperRepositoryTest.cs create mode 100644 src/Database/MongoDB/Integration.Test/Usings.cs create mode 100644 src/Database/MongoDB/Integration.Test/packages.lock.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7885b964..33984fa21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,6 +160,14 @@ jobs: unit-test: runs-on: ubuntu-latest + services: + mongo: + image: mongo + env: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: rootpassword + ports: + - 27017:27017 steps: - name: Set up JDK 11 uses: actions/setup-java@v3 diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index dba118184..ee25cb77c 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -319,8 +319,6 @@ - :who: mocsharp :why: MIT (https://github.com/microsoft/vstest/raw/main/LICENSE) :versions: - - 17.1.0 - - 17.2.0 - 17.4.0 :when: 2022-08-16 23:05:48.342748414 Z - - :approve @@ -605,7 +603,6 @@ :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 6.0.0 - - 6.0.1 - 6.0.2 - 6.0.3 :when: 2022-08-16 23:06:06.728283354 Z @@ -739,19 +736,15 @@ - - :approve - Microsoft.TestPlatform.ObjectModel - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) + :why: MIT (https://github.com/microsoft/vstest/raw/v17.4.0/LICENSE) :versions: - - 17.1.0 - - 17.2.0 - 17.4.0 :when: 2022-08-16 23:06:16.175705981 Z - - :approve - Microsoft.TestPlatform.TestHost - :who: mocsharp - :why: MIT (https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) + :why: MIT (https://github.com/microsoft/vstest/raw/v17.4.0/LICENSE) :versions: - - 17.1.0 - - 17.2.0 - 17.4.0 :when: 2022-08-16 23:06:17.671459450 Z - - :approve @@ -787,7 +780,6 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/minio/minio-dotnet/raw/master/LICENSE) :versions: - - 4.0.5 - 4.0.6 :when: 2022-08-16 23:06:20.598551507 Z - - :approve @@ -853,13 +845,6 @@ :versions: - 2.0.0 :when: 2022-08-16 23:06:24.756106826 Z -- - :approve - - NPOI - - :who: mocsharp - :why: Apache-2.0 (https://github.com/nissl-lab/npoi/raw/master/LICENSE) - :versions: - - 2.5.6 - :when: 2022-08-16 23:06:25.198846196 Z - - :approve - Newtonsoft.Json - :who: mocsharp @@ -1138,6 +1123,7 @@ - :who: mocsharp :why: MIT ( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: + - 4.4.0 - 4.5.0 :when: 2022-08-16 23:06:43.335979768 Z - - :approve @@ -1243,7 +1229,6 @@ - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.2.1 - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z - - :approve @@ -1251,7 +1236,6 @@ - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.2.1 - 17.2.3 :when: 2022-08-16 23:06:51.524564913 Z - - :approve @@ -1546,7 +1530,6 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: - - 4.5.0 - 5.0.0 :when: 2022-08-16 23:07:11.063425328 Z - - :approve @@ -1603,6 +1586,7 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) :versions: + - 4.4.0 - 4.5.0 :when: 2022-08-16 23:07:14.759818552 Z - - :approve @@ -1638,7 +1622,6 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - - 4.5.0 - 5.0.0 :when: 2022-08-16 23:07:17.059464936 Z - - :approve @@ -1689,7 +1672,6 @@ :why: MIT (https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) :versions: - 6.0.0 - - 6.0.5 - 6.0.7 :when: 2022-08-16 23:07:20.787263056 Z - - :approve @@ -1823,7 +1805,6 @@ - :who: mocsharp :why: Microsoft Public License (https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) :versions: - - 5.0.2 - 5.0.3 :when: 2022-08-16 23:07:29.574869349 Z - - :approve diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index a08b001a8..ebde3cb46 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -705,6 +705,225 @@ SOFTWARE. </details> +<details> +<summary>DnsClient 1.6.1</summary> + +## DnsClient + +- Version: 1.6.1 +- Authors: MichaCo +- Project URL: http://dnsclient.michaco.net/ +- Source: [NuGet](https://www.nuget.org/packages/DnsClient/1.6.1) +- License: [Apache-2.0](https://github.com/MichaCo/DnsClient.NET/raw/dev/LICENSE) + + +``` +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + <details> <summary>Docker.DotNet 3.125.12</summary> @@ -1351,53 +1570,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -1410,13 +1629,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -1424,36 +1643,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2448,53 +2667,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2507,13 +2726,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2521,36 +2740,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2648,53 +2867,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -2707,13 +2926,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -2721,36 +2940,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -2860,15 +3079,15 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.1.0</summary> +<summary>Microsoft.CodeCoverage 17.4.0</summary> ## Microsoft.CodeCoverage -- Version: 17.1.0 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.1.0) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.4.0) - License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) @@ -2898,20 +3117,23 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.2.0</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.11</summary> -## Microsoft.CodeCoverage +## Microsoft.Data.Sqlite.Core -- Version: 17.2.0 +- Version: 6.0.11 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.2.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) +- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.11) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` -Copyright (c) 2020 Microsoft Corporation +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2936,20 +3158,23 @@ SOFTWARE. <details> -<summary>Microsoft.CodeCoverage 17.4.0</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.11</summary> -## Microsoft.CodeCoverage +## Microsoft.EntityFrameworkCore -- Version: 17.4.0 +- Version: 6.0.11 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.CodeCoverage/17.4.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/main/LICENSE) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.11) +- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) ``` -Copyright (c) 2020 Microsoft Corporation +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -2974,14 +3199,14 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.11</summary> -## Microsoft.Data.Sqlite.Core +## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft -- Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.10) +- Project URL: https://docs.microsoft.com/ef/core/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3015,96 +3240,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.11</summary> - -## Microsoft.EntityFrameworkCore - -- Version: 6.0.11 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.11) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.11</summary> - -## Microsoft.EntityFrameworkCore.Abstractions - -- Version: 6.0.11 -- Authors: Microsoft -- Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.11) -- License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3138,14 +3281,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3179,14 +3322,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.11</summary> ## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3220,14 +3363,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3261,14 +3404,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3302,14 +3445,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.10</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.11</summary> ## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.11) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -4187,6 +4330,47 @@ SOFTWARE. </details> +<details> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks 6.0.11</summary> + +## Microsoft.Extensions.Diagnostics.HealthChecks + +- Version: 6.0.11 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks/6.0.11) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.10</summary> @@ -4229,14 +4413,55 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.10</summary> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.11</summary> + +## Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions + +- Version: 6.0.11 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions/6.0.11) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 6.0.11</summary> ## Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore -- Version: 6.0.10 +- Version: 6.0.11 - Authors: Microsoft - Project URL: https://asp.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.10) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore/6.0.11) - License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) @@ -4639,14 +4864,14 @@ SOFTWARE. <details> -<summary>Microsoft.Extensions.Logging.Abstractions 6.0.1</summary> +<summary>Microsoft.Extensions.Logging.Abstractions 6.0.2</summary> ## Microsoft.Extensions.Logging.Abstractions -- Version: 6.0.1 +- Version: 6.0.2 - Authors: Microsoft - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.1) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions/6.0.2) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -5216,53 +5441,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5275,13 +5500,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5289,36 +5514,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5427,6 +5652,48 @@ SOFTWARE. </details> +<details> +<summary>Microsoft.NETCore.Platforms 5.0.0</summary> + +## Microsoft.NETCore.Platforms + +- Version: 5.0.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/runtime +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/5.0.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>Microsoft.NETCore.Targets 1.1.0</summary> @@ -5458,53 +5725,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5517,13 +5784,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5531,36 +5798,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5658,53 +5925,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -5717,13 +5984,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -5731,36 +5998,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -5900,54 +6167,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.ObjectModel 17.1.0</summary> - -## Microsoft.TestPlatform.ObjectModel - -- Version: 17.1.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.1.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) - - -``` -Copyright (c) 2020 Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.TestPlatform.ObjectModel 17.2.0</summary> +<summary>Microsoft.TestPlatform.ObjectModel 17.4.0</summary> ## Microsoft.TestPlatform.ObjectModel -- Version: 17.2.0 +- Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.2.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.4.0) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.4.0/LICENSE) ``` @@ -5976,130 +6205,16 @@ SOFTWARE. <details> -<summary>Microsoft.TestPlatform.ObjectModel 17.4.0</summary> +<summary>Microsoft.TestPlatform.TestHost 17.4.0</summary> -## Microsoft.TestPlatform.ObjectModel +## Microsoft.TestPlatform.TestHost - Version: 17.4.0 - Authors: Microsoft - Owners: Microsoft - Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.4.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) - - -``` -Copyright (c) 2020 Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.TestPlatform.TestHost 17.1.0</summary> - -## Microsoft.TestPlatform.TestHost - -- Version: 17.1.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.1.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) - - -``` -Copyright (c) 2020 Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.TestPlatform.TestHost 17.2.0</summary> - -## Microsoft.TestPlatform.TestHost - -- Version: 17.2.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.2.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) - - -``` -Copyright (c) 2020 Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>Microsoft.TestPlatform.TestHost 17.4.0</summary> - -## Microsoft.TestPlatform.TestHost - -- Version: 17.4.0 -- Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.4.0) -- License: [MIT](https://github.com/microsoft/vstest/raw/v17.1.0/LICENSE) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.4.0) +- License: [MIT](https://github.com/microsoft/vstest/raw/v17.4.0/LICENSE) ``` @@ -6220,53 +6335,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -6279,13 +6394,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -6293,36 +6408,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -6390,16 +6505,16 @@ consequential or other damages. <details> -<summary>Microsoft.Win32.SystemEvents 4.5.0</summary> +<summary>Microsoft.Win32.Registry 5.0.0</summary> -## Microsoft.Win32.SystemEvents +## Microsoft.Win32.Registry -- Version: 4.5.0 +- Version: 5.0.0 - Authors: Microsoft - Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Win32.SystemEvents/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +- Project URL: https://github.com/dotnet/runtime +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Win32.Registry/5.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) ``` @@ -6432,219 +6547,42 @@ SOFTWARE. <details> -<summary>Minio 4.0.5</summary> +<summary>Microsoft.Win32.SystemEvents 4.5.0</summary> -## Minio +## Microsoft.Win32.SystemEvents -- Version: 4.0.5 -- Authors: MinIO, Inc. -- Project URL: https://github.com/minio/minio-dotnet -- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.5) -- License: [Apache-2.0](https://github.com/minio/minio-dotnet/raw/master/LICENSE) +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Win32.SystemEvents/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) ``` -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. +The MIT License (MIT) - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +Copyright (c) .NET Foundation and Contributors - Copyright {yyyy} {name of copyright owner} +All rights reserved. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> @@ -6870,14 +6808,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.11</summary> +<summary>Monai.Deploy.Messaging 0.1.16</summary> ## Monai.Deploy.Messaging -- Version: 0.1.11 +- Version: 0.1.16 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.11) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.16) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7098,14 +7036,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.11</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.16</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.11 +- Version: 0.1.16 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.11) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.16) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -8009,6 +7947,134 @@ By downloading this software, you agree to the license terms & all licenses list </details> +<details> +<summary>MongoDB.Bson 2.18.0</summary> + +## MongoDB.Bson + +- Version: 2.18.0 +- Authors: MongoDB Inc. +- Project URL: https://www.mongodb.com/docs/drivers/csharp/ +- Source: [NuGet](https://www.nuget.org/packages/MongoDB.Bson/2.18.0) +- License: [Apache-2.0](https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + + +``` +/* Copyright 2010-present MongoDB Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +``` + +</details> + + +<details> +<summary>MongoDB.Driver 2.18.0</summary> + +## MongoDB.Driver + +- Version: 2.18.0 +- Authors: MongoDB Inc. +- Project URL: https://www.mongodb.com/docs/drivers/csharp/ +- Source: [NuGet](https://www.nuget.org/packages/MongoDB.Driver/2.18.0) +- License: [Apache-2.0](https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + + +``` +/* Copyright 2010-present MongoDB Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +``` + +</details> + + +<details> +<summary>MongoDB.Driver.Core 2.18.0</summary> + +## MongoDB.Driver.Core + +- Version: 2.18.0 +- Authors: MongoDB Inc. +- Project URL: https://www.mongodb.com/docs/drivers/csharp/ +- Source: [NuGet](https://www.nuget.org/packages/MongoDB.Driver.Core/2.18.0) +- License: [Apache-2.0](https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + + +``` +/* Copyright 2010-present MongoDB Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +``` + +</details> + + +<details> +<summary>MongoDB.Libmongocrypt 1.6.0</summary> + +## MongoDB.Libmongocrypt + +- Version: 1.6.0 +- Authors: MongoDB Inc. +- Project URL: http://www.mongodb.org/display/DOCS/CSharp+Language+Center +- Source: [NuGet](https://www.nuget.org/packages/MongoDB.Libmongocrypt/1.6.0) +- License: [Apache-2.0](https://github.com/mongodb/mongo-csharp-driver/raw/master/License.txt) + + +``` +/* Copyright 2010-present MongoDB Inc. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +``` + +</details> + + <details> <summary>Moq 4.18.1</summary> @@ -8134,53 +8200,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -8193,13 +8259,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -8207,36 +8273,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -8479,202 +8545,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. </details> -<details> -<summary>NPOI 2.5.6</summary> - -## NPOI - -- Version: 2.5.6 -- Authors: NPOI Contributors -- Owners: Nissl Lab -- Project URL: https://github.com/nissl-lab/npoi -- Source: [NuGet](https://www.nuget.org/packages/NPOI/2.5.6) -- License: [Apache-2.0](https://github.com/nissl-lab/npoi/raw/master/LICENSE) - - -``` -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "{}" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. -``` - -</details> - - <details> <summary>Newtonsoft.Json 10.0.1</summary> @@ -8931,6 +8801,9 @@ bouncycastle.org + + + The Legion of the Bouncy Castle @@ -8946,6 +8819,7 @@ resources legal and licencing contributors +  @@ -8958,10 +8832,10 @@ Copyright (c) 2000 - 2022 The Legion of the Bouncy Castle Inc. (http://www.bounc THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +  - - +  Site hosted by Tau Ceti Co-operative Ltd. @@ -10064,6 +9938,84 @@ Apache License </details> +<details> +<summary>SharpCompress 0.30.1</summary> + +## SharpCompress + +- Version: 0.30.1 +- Authors: Adam Hathcock +- Project URL: https://github.com/adamhathcock/sharpcompress +- Source: [NuGet](https://www.nuget.org/packages/SharpCompress/0.30.1) +- License: [MIT](https://github.com/adamhathcock/sharpcompress/raw/master/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) 2014 Adam Hathcock + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +</details> + + +<details> +<summary>SharpCompress 0.30.1</summary> + +## SharpCompress + +- Version: 0.30.1 +- Authors: Adam Hathcock +- Project URL: https://github.com/adamhathcock/sharpcompress +- Source: [NuGet](https://www.nuget.org/packages/SharpCompress/0.30.1) +- License: [MIT](https://github.com/adamhathcock/sharpcompress/raw/master/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) 2014 Adam Hathcock + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +</details> + + <details> <summary>SharpZipLib 1.3.3</summary> @@ -10099,6 +10051,77 @@ DEALINGS IN THE SOFTWARE. </details> +<details> +<summary>Snappier 1.0.0</summary> + +## Snappier + +- Version: 1.0.0 +- Authors: btburnett3 +- Source: [NuGet](https://www.nuget.org/packages/Snappier/1.0.0) +- License: [BSD-3-Clause](https://github.com/brantburnett/Snappier/raw/main/COPYING.txt) + + +``` +Copyright 2011-2020, Snappier Authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=== + +Some of the benchmark data in testdata/ is licensed differently: + + - fireworks.jpeg is Copyright 2013 Steinar H. Gunderson, and + is licensed under the Creative Commons Attribution 3.0 license + (CC-BY-3.0). See https://creativecommons.org/licenses/by/3.0/ + for more information. + + - kppkn.gtb is taken from the Gaviota chess tablebase set, and + is licensed under the MIT License. See + https://sites.google.com/site/gaviotachessengine/Home/endgame-tablebases-1 + for more information. + + - paper-100k.pdf is an excerpt (bytes 92160 to 194560) from the paper + “Combinatorial Modeling of Chromatin Features Quantitatively Predicts DNA + Replication Timing in _Drosophila_” by Federico Comoglio and Renato Paro, + which is licensed under the CC-BY license. See + http://www.ploscompbiol.org/static/license for more ifnormation. + + - alice29.txt, asyoulik.txt, plrabn12.txt and lcet10.txt are from Project + Gutenberg. The first three have expired copyrights and are in the public + domain; the latter does not have expired copyright, but is still in the + public domain according to the license information + (http://www.gutenberg.org/ebooks/53). +``` + +</details> + + <details> <summary>SpecFlow 3.9.74</summary> @@ -10517,53 +10540,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10576,13 +10599,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10590,36 +10613,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10717,53 +10740,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -10776,13 +10799,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -10790,36 +10813,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -10959,53 +10982,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11018,13 +11041,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11032,36 +11055,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11159,53 +11182,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11218,13 +11241,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11232,36 +11255,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11400,53 +11423,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11459,13 +11482,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11473,36 +11496,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11600,53 +11623,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -11659,13 +11682,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -11673,36 +11696,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -11964,53 +11987,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12023,13 +12046,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12037,36 +12060,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12248,53 +12271,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12307,13 +12330,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12321,36 +12344,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12448,53 +12471,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12507,13 +12530,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12521,36 +12544,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12617,6 +12640,48 @@ consequential or other damages. </details> +<details> +<summary>System.Configuration.ConfigurationManager 4.4.0</summary> + +## System.Configuration.ConfigurationManager + +- Version: 4.4.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Configuration.ConfigurationManager/4.4.0) +- License: [MIT]( https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.Configuration.ConfigurationManager 4.5.0</summary> @@ -12690,53 +12755,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12749,13 +12814,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12763,36 +12828,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -12890,53 +12955,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -12949,13 +13014,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -12963,36 +13028,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13090,53 +13155,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13149,13 +13214,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13163,36 +13228,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13372,53 +13437,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13431,13 +13496,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13445,36 +13510,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13572,53 +13637,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13631,13 +13696,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13645,36 +13710,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -13814,53 +13879,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -13873,13 +13938,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -13887,36 +13952,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14014,53 +14079,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14073,13 +14138,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14087,36 +14152,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14214,53 +14279,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14273,13 +14338,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14287,36 +14352,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14414,53 +14479,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14473,13 +14538,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14487,36 +14552,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14614,53 +14679,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14673,13 +14738,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14687,36 +14752,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14814,53 +14879,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -14873,13 +14938,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -14887,36 +14952,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -14983,47 +15048,6 @@ consequential or other damages. </details> -<details> -<summary>System.IO.Abstractions 17.2.1</summary> - -## System.IO.Abstractions - -- Version: 17.2.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>System.IO.Abstractions 17.2.3</summary> @@ -15065,47 +15089,6 @@ SOFTWARE. </details> -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.2.1</summary> - -## System.IO.Abstractions.TestingHelpers - -- Version: 17.2.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> @@ -15178,53 +15161,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15237,13 +15220,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15251,36 +15234,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15378,53 +15361,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15437,13 +15420,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15451,36 +15434,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15578,53 +15561,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15637,13 +15620,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15651,36 +15634,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15778,53 +15761,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -15837,13 +15820,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -15851,36 +15834,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -15978,53 +15961,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16037,13 +16020,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16051,36 +16034,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16219,53 +16202,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16278,13 +16261,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16292,36 +16275,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16503,53 +16486,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16562,13 +16545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16576,36 +16559,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16703,53 +16686,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16762,13 +16745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16776,36 +16759,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -16903,53 +16886,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -16962,13 +16945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -16976,36 +16959,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17103,53 +17086,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17162,13 +17145,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17176,36 +17159,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17303,53 +17286,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17362,13 +17345,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17376,36 +17359,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17503,53 +17486,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17562,13 +17545,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17576,36 +17559,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17703,53 +17686,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17762,13 +17745,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17776,36 +17759,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -17903,53 +17886,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -17962,13 +17945,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -17976,36 +17959,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18185,53 +18168,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18244,13 +18227,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18258,36 +18241,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18385,53 +18368,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18444,13 +18427,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18458,36 +18441,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18585,53 +18568,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18644,13 +18627,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18658,36 +18641,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18785,53 +18768,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -18844,13 +18827,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -18858,36 +18841,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -18985,53 +18968,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19044,13 +19027,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19058,36 +19041,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19227,53 +19210,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19286,13 +19269,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19300,36 +19283,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19427,53 +19410,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19486,13 +19469,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19500,36 +19483,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19627,53 +19610,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19686,13 +19669,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19700,36 +19683,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -19827,53 +19810,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -19886,13 +19869,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -19900,36 +19883,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20027,53 +20010,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20086,13 +20069,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20100,36 +20083,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20310,53 +20293,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20369,13 +20352,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20383,36 +20366,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20510,53 +20493,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20569,13 +20552,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20583,36 +20566,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20710,53 +20693,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20769,13 +20752,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20783,36 +20766,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -20910,53 +20893,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -20969,13 +20952,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -20983,36 +20966,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21110,53 +21093,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21169,13 +21152,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21183,36 +21166,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21310,53 +21293,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21369,13 +21352,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21383,36 +21366,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21510,53 +21493,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21569,13 +21552,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21583,36 +21566,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21710,53 +21693,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21769,13 +21752,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21783,36 +21766,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -21910,53 +21893,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -21969,13 +21952,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -21983,36 +21966,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22080,15 +22063,15 @@ consequential or other damages. <details> -<summary>System.Security.AccessControl 4.5.0</summary> +<summary>System.Security.AccessControl 5.0.0</summary> ## System.Security.AccessControl -- Version: 4.5.0 +- Version: 5.0.0 - Authors: Microsoft - Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/4.5.0) +- Project URL: https://github.com/dotnet/runtime +- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/5.0.0) - License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) @@ -22152,53 +22135,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22211,13 +22194,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22225,36 +22208,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22352,53 +22335,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22411,13 +22394,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22425,36 +22408,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22552,53 +22535,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22611,13 +22594,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22625,36 +22608,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22752,53 +22735,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -22811,13 +22794,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -22825,36 +22808,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -22952,53 +22935,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23011,13 +22994,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23025,36 +23008,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23152,53 +23135,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23211,13 +23194,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23225,36 +23208,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23352,53 +23335,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23411,13 +23394,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23425,36 +23408,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23521,6 +23504,48 @@ consequential or other damages. </details> +<details> +<summary>System.Security.Cryptography.ProtectedData 4.4.0</summary> + +## System.Security.Cryptography.ProtectedData + +- Version: 4.4.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.ProtectedData/4.4.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.Security.Cryptography.ProtectedData 4.5.0</summary> @@ -23594,53 +23619,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23653,13 +23678,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23667,36 +23692,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -23836,53 +23861,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -23895,13 +23920,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -23909,36 +23934,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24036,53 +24061,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24095,13 +24120,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24109,36 +24134,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24206,15 +24231,15 @@ consequential or other damages. <details> -<summary>System.Security.Principal.Windows 4.5.0</summary> +<summary>System.Security.Principal.Windows 5.0.0</summary> ## System.Security.Principal.Windows -- Version: 4.5.0 +- Version: 5.0.0 - Authors: Microsoft - Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/4.5.0) +- Project URL: https://github.com/dotnet/runtime +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Principal.Windows/5.0.0) - License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) @@ -24278,53 +24303,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24337,13 +24362,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24351,36 +24376,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24520,53 +24545,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -24579,13 +24604,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -24593,36 +24618,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -24855,47 +24880,6 @@ SOFTWARE. </details> -<details> -<summary>System.Text.Json 6.0.5</summary> - -## System.Text.Json - -- Version: 6.0.5 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Text.Json/6.0.5) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>System.Text.Json 6.0.7</summary> @@ -24968,53 +24952,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25027,13 +25011,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25041,36 +25025,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25168,53 +25152,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25227,13 +25211,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25241,36 +25225,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25451,53 +25435,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25510,13 +25494,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25524,36 +25508,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25651,53 +25635,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25710,13 +25694,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25724,36 +25708,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -25892,53 +25876,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -25951,13 +25935,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -25965,36 +25949,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26134,53 +26118,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26193,13 +26177,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26207,36 +26191,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26334,53 +26318,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26393,13 +26377,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26407,36 +26391,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26576,53 +26560,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26635,13 +26619,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26649,36 +26633,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26776,53 +26760,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -26835,13 +26819,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -26849,36 +26833,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -26976,53 +26960,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -27035,13 +27019,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -27049,36 +27033,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -27228,21 +27212,21 @@ accept this license. If you do not accept the license, do not use the software. <details> -<summary>coverlet.collector 3.2.0</summary> +<summary>ZstdSharp.Port 0.6.2</summary> -## coverlet.collector +## ZstdSharp.Port -- Version: 3.2.0 -- Authors: tonerdo -- Project URL: https://github.com/coverlet-coverage/coverlet -- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.2.0) -- License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) +- Version: 0.6.2 +- Authors: Oleg Stepanischev +- Project URL: https://github.com/oleg-st/ZstdSharp +- Source: [NuGet](https://www.nuget.org/packages/ZstdSharp.Port/0.6.2) +- License: [MIT](https://github.com/oleg-st/ZstdSharp/raw/master/LICENSE) ``` -The MIT License (MIT) +MIT License -Copyright (c) 2018 Toni Solarin-Sodara +Copyright (c) 2021 Oleg Stepanischev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -27267,287 +27251,21 @@ SOFTWARE. <details> -<summary>fo-dicom 5.0.2</summary> +<summary>coverlet.collector 3.2.0</summary> -## fo-dicom +## coverlet.collector -- Version: 5.0.2 -- Authors: fo-dicom contributors -- Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.2) -- License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) +- Version: 3.2.0 +- Authors: tonerdo +- Project URL: https://github.com/coverlet-coverage/coverlet +- Source: [NuGet](https://www.nuget.org/packages/coverlet.collector/3.2.0) +- License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) ``` -Fellow Oak DICOM - -Copyright (c) 2012-2021 fo-dicom contributors - -This software is licensed under the Microsoft Public License (MS-PL) - -Microsoft Public License (MS-PL) - -This license governs use of the accompanying software. If you use the software, you -accept this license. If you do not accept the license, do not use the software. - -1. Definitions -The terms "reproduce," "reproduction," "derivative works," and "distribution" have the -same meaning here as under U.S. copyright law. -A "contribution" is the original software, or any additions or changes to the software. -A "contributor" is any person that distributes its contribution under this license. -"Licensed patents" are a contributor's patent claims that read directly on its contribution. - -2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works - of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the - contribution in the software. - -3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, - logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed - by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, - and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license - that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose - and non-infringement. - - - ----- libijg (from DCMTK 3.5.4 COPYRIGHT) ---- - -Unless otherwise specified, the DCMTK software package has the -following copyright: - -/* - * Copyright (C) 1994-2004, OFFIS - * - * This software and supporting documentation were developed by - * - * Kuratorium OFFIS e.V. - * Healthcare Information and Communication Systems - * Escherweg 2 - * D-26121 Oldenburg, Germany - * - * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY - * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR - * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR - * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND - * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. - * - * Copyright of the software and supporting documentation is, unless - * otherwise stated, owned by OFFIS, and free access is hereby granted as - * a license to use this software, copy this software and prepare - * derivative works based upon this software. However, any distribution - * of this software source code or supporting documentation or derivative - * works (source code and supporting documentation) must include the - * three paragraphs of this copyright notice. - * - */ - -The dcmjpeg sub-package includes an adapted version of the Independent JPEG -Group Toolkit Version 6b, which is contained in dcmjpeg/libijg8, -dcmjpeg/libijg12 and dcmjpeg/libijg16. This toolkit is covered by the -following copyright. The original README file for the Independent JPEG -Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. - -/* - * The authors make NO WARRANTY or representation, either express or implied, - * with respect to this software, its quality, accuracy, merchantability, or - * fitness for a particular purpose. This software is provided "AS IS", and you, - * its user, assume the entire risk as to its quality and accuracy. - * - * This software is copyright (C) 1991-1998, Thomas G. Lane. - * All Rights Reserved except as specified below. - * - * Permission is hereby granted to use, copy, modify, and distribute this - * software (or portions thereof) for any purpose, without fee, subject to these - * conditions: - * (1) If any part of the source code for this software is distributed, then this - * README file must be included, with this copyright and no-warranty notice - * unaltered; and any additions, deletions, or changes to the original files - * must be clearly indicated in accompanying documentation. - * (2) If only executable code is distributed, then the accompanying - * documentation must state that "this software is based in part on the work of - * the Independent JPEG Group". - * (3) Permission for use of this software is granted only if the user accepts - * full responsibility for any undesirable consequences; the authors accept - * NO LIABILITY for damages of any kind. - * - * These conditions apply to any software derived from or based on the IJG code, - * not just to the unmodified library. If you use our work, you ought to - * acknowledge us. - * - * Permission is NOT granted for the use of any IJG author's name or company name - * in advertising or publicity relating to this software or products derived from - * it. This software may be referred to only as "the Independent JPEG Group's - * software". - * - * We specifically permit and encourage the use of this software as the basis of - * commercial products, provided that all warranty or liability claims are - * assumed by the product vendor. - */ - - - ----- OpenJPEG JPEG 2000 codec (from license.txt) ---- - -/* - * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2007, Professor Benoit Macq - * Copyright (c) 2001-2003, David Janssens - * Copyright (c) 2002-2003, Yannick Verschueren - * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe - * Copyright (c) 2005, Herve Drolon, FreeImage Team - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - - - ----- CharLS JPEG-LS codec (from License.txt) ---- - -Copyright (c) 2007-2009, Jan de Vaan -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - ----- Unity.IO.Compression (from LICENSE.TXT and PATENTS.TXT) ---- - -The MIT License (MIT) - -Copyright (c) Microsoft Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Microsoft Patent Promise for .NET Libraries and Runtime Components - -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. - -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. - -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. - -Definitions: - -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. - -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. - -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). - -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. - - - ----- Nito.AsyncEx (from LICENSE.TXT) ---- - The MIT License (MIT) -Copyright (c) 2014 StephenCleary +Copyright (c) 2018 Toni Solarin-Sodara Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28212,53 +27930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28271,13 +27989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28285,36 +28003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28412,53 +28130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28471,13 +28189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28485,36 +28203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28612,53 +28330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28671,13 +28389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28685,36 +28403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -28812,53 +28530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -28871,13 +28589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -28885,36 +28603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29012,53 +28730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29071,13 +28789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29085,36 +28803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29212,53 +28930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29271,13 +28989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29285,36 +29003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29412,53 +29130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29471,13 +29189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29485,36 +29203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29612,53 +29330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29671,13 +29389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29685,36 +29403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -29812,53 +29530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -29871,13 +29589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -29885,36 +29603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30012,53 +29730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30071,13 +29789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30085,36 +29803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30212,53 +29930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30271,13 +29989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30285,36 +30003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30412,53 +30130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30471,13 +30189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30485,36 +30203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30612,53 +30330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30671,13 +30389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30685,36 +30403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -30812,53 +30530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -30871,13 +30589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -30885,36 +30603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31012,53 +30730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31071,13 +30789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31085,36 +30803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31212,53 +30930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31271,13 +30989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31285,36 +31003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31412,53 +31130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31471,13 +31189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31485,36 +31203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31612,53 +31330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31671,13 +31389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31685,36 +31403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -31812,53 +31530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -31871,13 +31589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -31885,36 +31603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32012,53 +31730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32071,13 +31789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32085,36 +31803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32212,53 +31930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32271,13 +31989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32285,36 +32003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32412,53 +32130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32471,13 +32189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32485,36 +32203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32612,53 +32330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32671,13 +32389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32685,36 +32403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -32812,53 +32530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -32871,13 +32589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -32885,36 +32603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33012,53 +32730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33071,13 +32789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33085,36 +32803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33212,53 +32930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33271,13 +32989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33285,36 +33003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33412,53 +33130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33471,13 +33189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33485,36 +33203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33612,53 +33330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33671,13 +33389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33685,36 +33403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -33812,53 +33530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -33871,13 +33589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -33885,36 +33603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34012,53 +33730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34071,13 +33789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34085,36 +33803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34212,53 +33930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34271,13 +33989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34285,36 +34003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34412,53 +34130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34471,13 +34189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34485,36 +34203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34612,53 +34330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34671,13 +34389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34685,36 +34403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -34812,53 +34530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -34871,13 +34589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -34885,36 +34603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35012,53 +34730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35071,13 +34789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35085,36 +34803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35212,53 +34930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35271,13 +34989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35285,36 +35003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35412,53 +35130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35471,13 +35189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35485,36 +35203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35612,53 +35330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35671,13 +35389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35685,36 +35403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -35812,53 +35530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -35871,13 +35589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -35885,36 +35603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36012,53 +35730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36071,13 +35789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36085,36 +35803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36212,53 +35930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36271,13 +35989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36285,36 +36003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36412,53 +36130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36471,13 +36189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36485,36 +36203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36612,53 +36330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36671,13 +36389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36685,36 +36403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -36812,53 +36530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -36871,13 +36589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -36885,36 +36603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37012,53 +36730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37071,13 +36789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37085,36 +36803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37212,53 +36930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37271,13 +36989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37285,36 +37003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37412,53 +37130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37471,13 +37189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37485,36 +37203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37612,53 +37330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37671,13 +37389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37685,36 +37403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -37812,53 +37530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -37871,13 +37589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -37885,36 +37603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38012,53 +37730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38071,13 +37789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38085,36 +37803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38212,53 +37930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38271,13 +37989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38285,36 +38003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38412,53 +38130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38471,13 +38189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38485,36 +38203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38612,53 +38330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38671,13 +38389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38685,36 +38403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -38812,53 +38530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -38871,13 +38589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -38885,36 +38603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39012,53 +38730,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39071,13 +38789,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39085,36 +38803,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39212,53 +38930,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39271,13 +38989,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39285,36 +39003,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39412,53 +39130,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39471,13 +39189,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39485,36 +39203,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39612,53 +39330,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39671,13 +39389,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39685,36 +39403,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and @@ -39812,53 +39530,53 @@ you comply with these license terms, you have the rights below. 1.    INSTALLATION AND USE RIGHTS. You may -install and use any number of copies of the software to develop and test your applications. +install and use any number of copies of the software to develop and test your applications.  -2. +2.    THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. -3. +3.    ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. +a.     DISTRIBUTABLE CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. i.      Right to Use and Distribute. -� +�        You may copy and distribute the object code form of the software. -� +�        Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications. ii.     Distribution Requirements. For any Distributable Code you distribute, you must -� +�        use the Distributable Code in your applications and not as a standalone distribution; -� +�        require distributors and external end users to agree to terms that protect it at least as much as this agreement; and -� +�        indemnify, defend, and hold harmless Microsoft from any claims, including attorneys� fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code. iii.   Distribution Restrictions. You may not -� +�        use Microsoft�s trademarks in your applications� names or in a way that suggests your applications come from or are endorsed by Microsoft; or -� +�        modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An �Excluded License� is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it. -4. +4.    DATA. -a. +a.     Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products @@ -39871,13 +39589,13 @@ privacy statement. Our privacy statement is located at https://go.microsoft.com/ collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices. -b. +b.    Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5. +5.    Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other @@ -39885,36 +39603,36 @@ rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not -� +�        work around any technical limitations in the software; -� +�        reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; -� +�        remove, minimize, block or modify any notices of Microsoft or its suppliers in the software; -� +�        use the software in any way that is against the law; or -� +�        share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. -6. +6.    Export Restrictions. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting. � -7. +7.    SUPPORT SERVICES. Because this software is �as is,� we may not provide support services for it. -8. +8.    Entire Agreement. This agreement, and the terms for supplements, updates, Internet-based services and diff --git a/docs/docfx.json b/docs/docfx.json index 5c9d11a94..b5a761955 100644 --- a/docs/docfx.json +++ b/docs/docfx.json @@ -9,6 +9,8 @@ "Client.Common/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.Client.Common.dll", "Common/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.Common.dll", "Configuration/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.Configuration.dll", + "Database/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.Database.dll", + "Database/Api/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.Database.Api.dll", "DicomWebClient/bin/Release/net6.0/Monai.Deploy.InformaticsGateway.DicomWeb.Client.dll" ], "exclude": [ @@ -88,4 +90,4 @@ "ExtractSearchIndex" ] } -} \ No newline at end of file +} diff --git a/docs/setup/setup.md b/docs/setup/setup.md index 308e5decb..70617aa87 100644 --- a/docs/setup/setup.md +++ b/docs/setup/setup.md @@ -95,6 +95,55 @@ The second command passes the endpoint for the Informatics Gateway RESTful API t > To see available commands, simply execute `mig-cli` or `mig-cli.exe`. > Refer to [CLI](./cli.md) for complete reference. + +## Database Configuration + +The Informatics Gateway supports the following database systems: + +- SQLite (default) +- MongoDB + +### SQLite (default) + +SQLite is a lite weight, full-featured SQL database engine and is the default database engine used by the Informatics Gateway. +With SQLite, the Informatics Gateway works out of the box without any external database service dependencies or configuration. + +The default configuration maps the database file `mig.db` in the `/database` directory. + +```json +{ + "ConnectionStrings": { + "Type": "sqlite", + "InformaticsGatewayDatabase": "Data Source=/database/mig.db" + } +} +``` + +### MongoDB + +For enterprise installations, [MongoDB](https://www.mongodb.com/) is the recommended database solution. To switch from SQLite +to MongoDB, edit the `appsettings.json` file, and change the `ConnectionStrings` section to the following with the correct +username, password, IP address/hostname, and port. + +```json +{ + "ConnectionStrings": { + "Type": "mongodb", + "InformaticsGatewayDatabase": "mongodb://username:password@IP:port", + "DatabaseName": "InformaticsGateway" + } +} +``` + +## Other Database Systems + +Extending the Informatics Gateway to support other database systems can be done with a few steps. + +If the database system is supported by [Microsoft Entity Framework](https://learn.microsoft.com/en-us/ef/core/providers/), then it can be added to the existing [project](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/tree/develop/src/Database/EntityFramework). + +For other database systems that are not listed in the link above, simply implement the [Repository APIs](xref:Monai.Deploy.InformaticsGateway.Database.Api.Repositories), update the [Database Manager](xref:Monai.Deploy.InformaticsGateway.Database.DatabaseManager) to support the new database type and optionally, implement the [IDabaseMigrationManager](xref:Monai.Deploy.InformaticsGateway.Database.Api.IDatabaseMigrationManager). + + ## Storage Consideration & Configuration The Informatics Gateway operates on two storage locations. In the first location, the incoming data for data grouping is temporarily stored. In the second location, the Informatics Gateway uploads grouped datasets to final storage shared by other MONAI Deploy sub-systems. diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json index 0abd2bb19..b4b7a001c 100644 --- a/src/Api/Test/packages.lock.json +++ b/src/Api/Test/packages.lock.json @@ -1267,20 +1267,20 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json index ddab38695..a269e7e27 100644 --- a/src/CLI/Test/packages.lock.json +++ b/src/CLI/Test/packages.lock.json @@ -1553,53 +1553,53 @@ "mig-cli": { "type": "Project", "dependencies": { - "Crayon": "2.0.69", - "Docker.DotNet": "3.125.12", - "Microsoft.Extensions.Hosting": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Client": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "System.CommandLine": "2.0.0-beta4.22272.1", - "System.CommandLine.Hosting": "0.4.0-alpha.22272.1", - "System.CommandLine.Rendering": "0.4.0-alpha.22272.1", - "System.IO.Abstractions": "17.2.3" + "Crayon": "[2.0.69, )", + "Docker.DotNet": "[3.125.12, )", + "Microsoft.Extensions.Hosting": "[6.0.1, )", + "Microsoft.Extensions.Logging": "[6.0.0, )", + "Microsoft.Extensions.Logging.Console": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Client": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "System.CommandLine": "[2.0.0-beta4.22272.1, )", + "System.CommandLine.Hosting": "[0.4.0-alpha.22272.1, )", + "System.CommandLine.Rendering": "[0.4.0-alpha.22272.1, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Client.Common/Test/packages.lock.json b/src/Client.Common/Test/packages.lock.json index a5cca0241..9a5709b8c 100644 --- a/src/Client.Common/Test/packages.lock.json +++ b/src/Client.Common/Test/packages.lock.json @@ -1086,8 +1086,8 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } } } diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index ce13c18af..bf56bcf00 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -1601,136 +1601,136 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "DotNext.Threading": "4.7.4", - "HL7-dotnetcore": "2.29.0", - "Karambolo.Extensions.Logging.File": "3.3.1", - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Hosting": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", - "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.MinIO": "0.2.10", - "NLog": "5.0.5", - "NLog.Web.AspNetCore": "5.1.5", - "Polly": "7.2.3", - "Swashbuckle.AspNetCore": "6.4.0", - "fo-dicom": "5.0.3", - "fo-dicom.NLog": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "DotNext.Threading": "[4.7.4, )", + "HL7-dotnetcore": "[2.29.0, )", + "Karambolo.Extensions.Logging.File": "[3.3.1, )", + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Hosting": "[6.0.1, )", + "Microsoft.Extensions.Logging": "[6.0.0, )", + "Microsoft.Extensions.Logging.Console": "[6.0.0, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "Monai.Deploy.Storage.MinIO": "[0.2.10, )", + "NLog": "[5.0.5, )", + "NLog.Web.AspNetCore": "[5.1.5, )", + "Polly": "[7.2.3, )", + "Swashbuckle.AspNetCore": "[6.4.0, )", + "fo-dicom": "[5.0.3, )", + "fo-dicom.NLog": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json index b58ecbb75..344149879 100644 --- a/src/Common/Test/packages.lock.json +++ b/src/Common/Test/packages.lock.json @@ -1162,10 +1162,10 @@ "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json index c6a202ed0..4d3e1e972 100644 --- a/src/Configuration/Test/packages.lock.json +++ b/src/Configuration/Test/packages.lock.json @@ -1280,32 +1280,32 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "System.IO.Abstractions": "[17.2.3, )" } } } diff --git a/src/Database/Api/Repositories/IPayloadRepository.cs b/src/Database/Api/Repositories/IPayloadRepository.cs index 5449af8da..9e145c7d6 100644 --- a/src/Database/Api/Repositories/IPayloadRepository.cs +++ b/src/Database/Api/Repositories/IPayloadRepository.cs @@ -29,8 +29,6 @@ public interface IPayloadRepository Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default); - Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default); - Task<int> RemovePendingPayloadsAsync(CancellationToken cancellationToken = default); Task<List<Payload>> GetPayloadsInStateAsync(CancellationToken cancellationToken = default, params Payload.PayloadState[] states); diff --git a/src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs b/src/Database/Api/Test/StorageMetadataWrapperTest.cs similarity index 97% rename from src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs rename to src/Database/Api/Test/StorageMetadataWrapperTest.cs index 9a27a8ae7..e895e5bf5 100644 --- a/src/Database/EntityFramework/Test/StorageMetadataWrapperTest.cs +++ b/src/Database/Api/Test/StorageMetadataWrapperTest.cs @@ -16,9 +16,8 @@ using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Api.Storage; -using Monai.Deploy.InformaticsGateway.Database.Api; -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +namespace Monai.Deploy.InformaticsGateway.Database.Api.Test { public class StorageMetadataWrapperTest { diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json index 74ab6cca6..e98c59b8a 100644 --- a/src/Database/Api/Test/packages.lock.json +++ b/src/Database/Api/Test/packages.lock.json @@ -1301,41 +1301,41 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } } } diff --git a/src/Database/EntityFramework/Repositories/PayloadRepository.cs b/src/Database/EntityFramework/Repositories/PayloadRepository.cs index 8f849f7f0..1e5a1499a 100644 --- a/src/Database/EntityFramework/Repositories/PayloadRepository.cs +++ b/src/Database/EntityFramework/Repositories/PayloadRepository.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using System.Linq.Expressions; using Ardalis.GuardClauses; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; @@ -68,14 +67,6 @@ public async Task<Payload> AddAsync(Payload item, CancellationToken cancellation }).ConfigureAwait(false); } - public async Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default) - { - return await _retryPolicy.ExecuteAsync(async () => - { - return await _dataset.AnyAsync(predicate, cancellationToken).ConfigureAwait(false); - }).ConfigureAwait(false); - } - public async Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default) { Guard.Against.Null(entity); diff --git a/src/Database/EntityFramework/Test/PayloadRepositoryTest.cs b/src/Database/EntityFramework/Test/PayloadRepositoryTest.cs new file mode 100644 index 000000000..50d9b21bf --- /dev/null +++ b/src/Database/EntityFramework/Test/PayloadRepositoryTest.cs @@ -0,0 +1,205 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class PayloadRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<PayloadRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public PayloadRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<PayloadRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAPayload_WhenAddingToDatabase_ExpectItToBeSaved() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + payload.State = Payload.PayloadState.Move; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(payload).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<Payload>().FirstOrDefaultAsync(p => p.PayloadId == payload.PayloadId).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(payload.Key, actual!.Key); + Assert.Equal(payload.State, actual!.State); + Assert.Equal(payload.Count, actual!.Count); + Assert.Equal(payload.RetryCount, actual!.RetryCount); + Assert.Equal(payload.CorrelationId, actual!.CorrelationId); + Assert.Equal(payload.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(payload.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(payload.Timeout, actual!.Timeout); + Assert.Equal(payload.Files, actual!.Files); + } + + [Fact] + public async Task GivenAPayload_WhenRemoveIsCalled_ExpectItToDeleted() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + payload.State = Payload.PayloadState.Move; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + var added = await store.AddAsync(payload).ConfigureAwait(false); + + var removed = await store.RemoveAsync(added!).ConfigureAwait(false); + Assert.Same(removed, added); + + var dbResult = await _databaseFixture.DatabaseContext.Set<Payload>().FirstOrDefaultAsync(p => p.PayloadId == payload.PayloadId).ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await _databaseFixture.DatabaseContext.Set<Payload>().ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + Assert.Equal(expected, actual); + } + + [Fact] + public async Task GivenAPayload_WhenUpdateIsCalled_ExpectItToSaved() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + var added = await store.AddAsync(payload).ConfigureAwait(false); + + added.State = Payload.PayloadState.Notify; + added.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + var updated = await store.UpdateAsync(payload).ConfigureAwait(false); + Assert.NotNull(updated); + + var actual = await _databaseFixture.DatabaseContext.Set<Payload>().FirstOrDefaultAsync(p => p.PayloadId == payload.PayloadId).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(updated.Key, actual!.Key); + Assert.Equal(updated.State, actual!.State); + Assert.Equal(updated.Count, actual!.Count); + Assert.Equal(updated.RetryCount, actual!.RetryCount); + Assert.Equal(updated.CorrelationId, actual!.CorrelationId); + Assert.Equal(updated.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(updated.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(updated.Timeout, actual!.Timeout); + Assert.Equal(updated.Files, actual!.Files); + } + + [Fact] + public async Task GivenPayloadsInDifferentStates_WhenRemovePendingPayloadsAsyncIsCalled_ExpectPendingPayloadsToBeRemoved() + { + var set = _databaseFixture.DatabaseContext.Set<Payload>(); + set.RemoveRange(set.ToList()); + await _databaseFixture.DatabaseContext.SaveChangesAsync().ConfigureAwait(false); + + var payload1 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload2 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload3 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Move }; + var payload4 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + var payload5 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + _ = await store.AddAsync(payload1).ConfigureAwait(false); + _ = await store.AddAsync(payload2).ConfigureAwait(false); + _ = await store.AddAsync(payload3).ConfigureAwait(false); + _ = await store.AddAsync(payload4).ConfigureAwait(false); + _ = await store.AddAsync(payload5).ConfigureAwait(false); + + var result = await store.RemovePendingPayloadsAsync().ConfigureAwait(false); + Assert.Equal(2, result); + + var actual = await set.ToListAsync().ConfigureAwait(false); + Assert.Equal(3, actual.Count); + + foreach (var payload in actual) + { + Assert.NotEqual(Payload.PayloadState.Created, payload.State); + } + } + + [Fact] + public async Task GivenPayloadsInDifferentStates_WhenGetPayloadsInStateAsyncIsCalled_ExpectMatchingPayloadsToBeReturned() + { + var set = _databaseFixture.DatabaseContext.Set<Payload>(); + set.RemoveRange(set.ToList()); + await _databaseFixture.DatabaseContext.SaveChangesAsync().ConfigureAwait(false); + + var payload1 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload2 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload3 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Move }; + var payload4 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + var payload5 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options); + _ = await store.AddAsync(payload1).ConfigureAwait(false); + _ = await store.AddAsync(payload2).ConfigureAwait(false); + _ = await store.AddAsync(payload3).ConfigureAwait(false); + _ = await store.AddAsync(payload4).ConfigureAwait(false); + _ = await store.AddAsync(payload5).ConfigureAwait(false); + + var result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Move).ConfigureAwait(false); + Assert.Single(result); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Created).ConfigureAwait(false); + Assert.Equal(2, result.Count); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Notify).ConfigureAwait(false); + Assert.Equal(2, result.Count); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Notify, Payload.PayloadState.Created).ConfigureAwait(false); + Assert.Equal(4, result.Count); + } + } +} diff --git a/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs index aa52fd850..ba7d1fa50 100644 --- a/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs +++ b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs @@ -16,6 +16,7 @@ using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Storage; namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test { diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json index 4f9e1e560..3605f672c 100644 --- a/src/Database/EntityFramework/Test/packages.lock.json +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -1462,54 +1462,54 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } } } diff --git a/src/Database/MongoDB/Integration.Test/DestinationApplicationEntityRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/DestinationApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..4ac0b0c09 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/DestinationApplicationEntityRepositoryTest.cs @@ -0,0 +1,166 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FluentAssertions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class DestinationApplicationEntityRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<DestinationApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public DestinationApplicationEntityRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithDestinationApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<DestinationApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new DestinationApplicationEntity { AeTitle = "AET", HostIp = "1.2.3.4", Port = 114, Name = "AET" }; + + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(aet).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + var actual = await collection.Find(p => p.Name == aet.Name).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.HostIp, actual!.HostIp); + Assert.Equal(aet.Port, actual!.Port); + Assert.Equal(aet.Name, actual!.Name); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1")).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle != "AET1" && p.Port == 114 && p.HostIp == "1.2.3.4").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Port == 114 && p.HostIp == "1.2.3.4").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Port == 999).ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("1.2.3.4", actual!.HostIp); + Assert.Equal(114, actual!.Port); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var collection = _databaseFixture.Database.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + var dbResult = await collection.Find(p => p.Name == "AET5").FirstOrDefaultAsync().ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var collection = _databaseFixture.Database.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + var expected = await collection.Find(Builders<DestinationApplicationEntity>.Filter.Empty).ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + actual.Should().BeEquivalentTo(expected, options => options.Excluding(p => p.DateTimeCreated)); + } + + [Fact] + public async Task GivenADestinationApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new DestinationApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + expected!.Port = 1000; + expected!.HostIp = "loalhost"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + Assert.Equal(expected.HostIp, dbResult!.HostIp); + Assert.Equal(expected.Port, dbResult!.Port); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/InferenceRequestRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/InferenceRequestRepositoryTest.cs new file mode 100644 index 000000000..bb561992f --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/InferenceRequestRepositoryTest.cs @@ -0,0 +1,272 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class InferenceRequestRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<InferenceRequestRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public InferenceRequestRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture; + _databaseFixture.InitDatabaseWithInferenceRequests(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<InferenceRequestRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAnInferenceRequest_WhenAddingToDatabase_ExpectItToBeSaved() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + var actual = await collection.Find(p => p.InferenceRequestId.Equals(inferenceRequest.InferenceRequestId)).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(inferenceRequest.InferenceRequestId, actual!.InferenceRequestId); + Assert.Equal(inferenceRequest.State, actual!.State); + Assert.Equal(inferenceRequest.Status, actual!.Status); + Assert.Equal(inferenceRequest.TransactionId, actual!.TransactionId); + Assert.Equal(inferenceRequest.TryCount, actual!.TryCount); + } + + [Fact] + public async Task GivenAFailedInferenceRequstThatExceededRetries_WhenUpdateIsCalled_ShallMarkAsFailed() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString(), + TryCount = 3 + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Fail).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + var result = await collection.Find(p => p.TransactionId == inferenceRequest.TransactionId).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Completed, result!.State); + Assert.Equal(InferenceRequestStatus.Fail, result!.Status); + } + + [Fact] + public async Task GivenAFailedInferenceRequst_WhenUpdateIsCalled_ShallRetryLater() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString(), + TryCount = 1 + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Fail).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + var result = await collection.Find(Builders<InferenceRequest>.Filter.Where(p => p.TransactionId == inferenceRequest.TransactionId)).FirstOrDefaultAsync().ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Queued, result!.State); + Assert.Equal(InferenceRequestStatus.Unknown, result!.Status); + Assert.Equal(2, result!.TryCount); + } + + [Fact] + public async Task GivenASuccessfulInferenceRequest_WhenUpdateIsCalled_ShallMarkAsCompleted() + { + var inferenceRequest = new InferenceRequest + { + TransactionId = Guid.NewGuid().ToString() + }; + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + await store.UpdateAsync(inferenceRequest, InferenceRequestStatus.Success).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + var result = await collection.Find(Builders<InferenceRequest>.Filter.Where(p => p.TransactionId == inferenceRequest.TransactionId)).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(result); + Assert.Equal(InferenceRequestState.Completed, result!.State); + Assert.Equal(InferenceRequestStatus.Success, result!.Status); + } + + [Fact] + public async Task GivenAQueuedInferenceRequests_WhenTakeIsCalled_ShallReturnFirstQueued() + { + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + MongoDatabaseFixture.Clear(collection); + + var inferenceRequestInProcess = CreateInferenceRequest(InferenceRequestState.InProcess); + var inferenceRequestCompleted = CreateInferenceRequest(InferenceRequestState.Completed); + var inferenceRequestQueued = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequestInProcess).ConfigureAwait(false); + await store.AddAsync(inferenceRequestCompleted).ConfigureAwait(false); + await store.AddAsync(inferenceRequestQueued).ConfigureAwait(false); + + var actual = await store.TakeAsync().ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal(inferenceRequestQueued.InferenceRequestId, actual!.InferenceRequestId); + Assert.Equal(InferenceRequestState.InProcess, actual!.State); + Assert.Equal(inferenceRequestQueued.Status, actual!.Status); + Assert.Equal(inferenceRequestQueued.TransactionId, actual!.TransactionId); + Assert.Equal(inferenceRequestQueued.TryCount, actual!.TryCount); + } + + [Fact] + public async Task GivenNoQueuedInferenceRequests_WhenTakeIsCalled_ShallReturnNotReturnAnything() + { + var collection = _databaseFixture.Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + MongoDatabaseFixture.Clear(collection); + + var cancellationTokenSource = new CancellationTokenSource(); + var inferenceRequestInProcess = CreateInferenceRequest(InferenceRequestState.InProcess); + var inferenceRequestCompleted = CreateInferenceRequest(InferenceRequestState.Completed); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequestInProcess).ConfigureAwait(false); + await store.AddAsync(inferenceRequestCompleted).ConfigureAwait(false); + + cancellationTokenSource.CancelAfter(500); + await Assert.ThrowsAsync<OperationCanceledException>(async () => await store.TakeAsync(cancellationTokenSource.Token).ConfigureAwait(false)).ConfigureAwait(false); + } + + [Fact] + public async Task GivenInferenceRequests_WhenGetInferenceRequestIsCalled_ShallReturnMatchingObject() + { + var inferenceRequest1 = CreateInferenceRequest(); + var inferenceRequest2 = CreateInferenceRequest(); + var inferenceRequest3 = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest1).ConfigureAwait(false); + await store.AddAsync(inferenceRequest2).ConfigureAwait(false); + await store.AddAsync(inferenceRequest3).ConfigureAwait(false); + + var result = await store.GetInferenceRequestAsync(inferenceRequest1.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest1.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest2.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest2.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest3.TransactionId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest3.TransactionId, result!.TransactionId); + + result = await store.GetInferenceRequestAsync(inferenceRequest1.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest1.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest2.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest2.TransactionId, result!.TransactionId); + result = await store.GetInferenceRequestAsync(inferenceRequest3.InferenceRequestId).ConfigureAwait(false); + Assert.NotNull(result); + Assert.Equal(inferenceRequest3.TransactionId, result!.TransactionId); + } + + [Fact] + public async Task GivenInferenceRequests_WhenExistsCalled_ShallReturnCorrectValue() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.ExistsAsync(inferenceRequest.TransactionId).ConfigureAwait(false); + Assert.True(result); + + result = await store.ExistsAsync("random").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAMatchingInferenceRequest_WhenGetStatusCalled_ShallReturnStatus() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.GetStatusAsync(inferenceRequest.TransactionId).ConfigureAwait(false); + + Assert.NotNull(result); + Assert.Equal(inferenceRequest.TransactionId, result!.TransactionId); + } + + [Fact] + public async Task GivenNoMatchingInferenceRequest_WhenGetStatusCalled_ShallReturnStatus() + { + var inferenceRequest = CreateInferenceRequest(); + + var store = new InferenceRequestRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(inferenceRequest).ConfigureAwait(false); + + var result = await store.GetStatusAsync("bogus").ConfigureAwait(false); + + Assert.Null(result); + } + + private static InferenceRequest CreateInferenceRequest(InferenceRequestState state = InferenceRequestState.Queued) => new() + { + InferenceRequestId = Guid.NewGuid(), + State = state, + Status = InferenceRequestStatus.Unknown, + TransactionId = Guid.NewGuid().ToString(), + TryCount = 0, + }; + } +} diff --git a/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj b/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj new file mode 100644 index 000000000..dc1e4a88b --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj @@ -0,0 +1,47 @@ +<!-- + ~ Copyright 2022 MONAI Consortium + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. +--> + +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <RootNamespace>Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test</RootNamespace> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <IsPackable>false</IsPackable> + <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="FluentAssertions" Version="6.8.0" /> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> + <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="xunit" Version="2.4.2" /> + <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + <PackageReference Include="coverlet.collector" Version="3.2.0"> + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> + <PrivateAssets>all</PrivateAssets> + </PackageReference> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj" /> + </ItemGroup> + +</Project> diff --git a/src/Database/MongoDB/Integration.Test/MonaiApplicationEntityRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/MonaiApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..7da5804ac --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/MonaiApplicationEntityRepositoryTest.cs @@ -0,0 +1,170 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FluentAssertions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class MonaiApplicationEntityRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<MonaiApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public MonaiApplicationEntityRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithMonaiApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<MonaiApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new MonaiApplicationEntity + { + AeTitle = "AET", + Name = "AET", + Timeout = 100, + AllowedSopClasses = new List<string> { "1", "2", "3" }, + Workflows = new List<string> { "W1", "W2" }, + Grouping = "G", + IgnoredSopClasses = new List<string> { "4", "5" } + }; + + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(aet).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + var actual = await collection.Find(p => p.Name == aet.Name).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.Name, actual!.Name); + Assert.Equal(aet.Timeout, actual!.Timeout); + Assert.Equal(aet.AllowedSopClasses, actual!.AllowedSopClasses); + Assert.Equal(aet.Workflows, actual!.Workflows); + Assert.Equal(aet.Grouping, actual!.Grouping); + Assert.Equal(aet.IgnoredSopClasses, actual!.IgnoredSopClasses); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1")).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name != "AET2").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name == "AET6").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var collection = _databaseFixture.Database.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + var dbResult = await collection.Find(p => p.Name == "AET5").FirstOrDefaultAsync().ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var collection = _databaseFixture.Database.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + var expected = await collection.Find(Builders<MonaiApplicationEntity>.Filter.Empty).ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + actual.Should().BeEquivalentTo(expected, options => options.Excluding(p => p.DateTimeCreated)); + } + + [Fact] + public async Task GivenAMonaiApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new MonaiApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs b/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs new file mode 100644 index 000000000..81ae1d761 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs @@ -0,0 +1,117 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Database.MongoDB; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [CollectionDefinition("MongoDatabase")] + public class MongoDatabaseCollection : ICollectionFixture<MongoDatabaseFixture> + { + // This class has no code, and is never created. Its purpose is simply + // to be the place to apply [CollectionDefinition] and all the + // ICollectionFixture<> interfaces. + } + + public class MongoDatabaseFixture + { + + public IMongoClient Client { get; set; } + public IMongoDatabase Database { get; set; } + public IOptions<MongoDBOptions> Options { get; set; } + + public MongoDatabaseFixture() + { + Client = new MongoClient("mongodb://root:rootpassword@localhost:27017"); + Options = Microsoft.Extensions.Options.Options.Create(new MongoDBOptions { DaatabaseName = $"IGTest" }); + Database = Client.GetDatabase(Options.Value.DaatabaseName); + + var migration = new MongoDatabaseMigrationManager(); + migration.Migrate(null!); + } + + public void InitDatabaseWithDestinationApplicationEntities() + { + var collection = Database.GetCollection<DestinationApplicationEntity>(nameof(DestinationApplicationEntity)); + Clear(collection); + var aet1 = new DestinationApplicationEntity { AeTitle = "AET1", HostIp = "1.2.3.4", Port = 114, Name = "AET1", DateTimeCreated = DateTime.UtcNow }; + var aet2 = new DestinationApplicationEntity { AeTitle = "AET2", HostIp = "1.2.3.4", Port = 114, Name = "AET2", DateTimeCreated = DateTime.UtcNow }; + var aet3 = new DestinationApplicationEntity { AeTitle = "AET3", HostIp = "1.2.3.4", Port = 114, Name = "AET3", DateTimeCreated = DateTime.UtcNow }; + var aet4 = new DestinationApplicationEntity { AeTitle = "AET4", HostIp = "1.2.3.4", Port = 114, Name = "AET4", DateTimeCreated = DateTime.UtcNow }; + var aet5 = new DestinationApplicationEntity { AeTitle = "AET5", HostIp = "1.2.3.4", Port = 114, Name = "AET5", DateTimeCreated = DateTime.UtcNow }; + + collection.DeleteMany("{ }"); + collection.InsertOne(aet1); + collection.InsertOne(aet2); + collection.InsertOne(aet3); + collection.InsertOne(aet4); + collection.InsertOne(aet5); + } + + public void InitDatabaseWithMonaiApplicationEntities() + { + var collection = Database.GetCollection<MonaiApplicationEntity>(nameof(MonaiApplicationEntity)); + Clear(collection); + var aet1 = new MonaiApplicationEntity { AeTitle = "AET1", Name = "AET1", DateTimeCreated = DateTime.UtcNow }; + var aet2 = new MonaiApplicationEntity { AeTitle = "AET2", Name = "AET2", DateTimeCreated = DateTime.UtcNow }; + var aet3 = new MonaiApplicationEntity { AeTitle = "AET3", Name = "AET3", DateTimeCreated = DateTime.UtcNow }; + var aet4 = new MonaiApplicationEntity { AeTitle = "AET4", Name = "AET4", DateTimeCreated = DateTime.UtcNow }; + var aet5 = new MonaiApplicationEntity { AeTitle = "AET5", Name = "AET5", DateTimeCreated = DateTime.UtcNow }; + + collection.DeleteMany("{ }"); + collection.InsertOne(aet1); + collection.InsertOne(aet2); + collection.InsertOne(aet3); + collection.InsertOne(aet4); + collection.InsertOne(aet5); + } + + public void InitDatabaseWithSourceApplicationEntities() + { + var collection = Database.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + Clear(collection); + var aet1 = new SourceApplicationEntity { AeTitle = "AET1", Name = "AET1", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; + var aet2 = new SourceApplicationEntity { AeTitle = "AET2", Name = "AET2", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; + var aet3 = new SourceApplicationEntity { AeTitle = "AET3", Name = "AET3", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; + var aet4 = new SourceApplicationEntity { AeTitle = "AET4", Name = "AET4", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; + var aet5 = new SourceApplicationEntity { AeTitle = "AET5", Name = "AET5", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; + + collection.DeleteMany("{ }"); + collection.InsertOne(aet1); + collection.InsertOne(aet2); + collection.InsertOne(aet3); + collection.InsertOne(aet4); + collection.InsertOne(aet5); + } + + + public void InitDatabaseWithInferenceRequests() + { + var collection = Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); + Clear(collection); + } + + public static void Clear<T>(IMongoCollection<T> collection) where T : class + { + var result = collection.DeleteMany(Builders<T>.Filter.Empty); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/PayloadRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/PayloadRepositoryTest.cs new file mode 100644 index 000000000..2e8f6f29e --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/PayloadRepositoryTest.cs @@ -0,0 +1,211 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FluentAssertions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class PayloadRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<PayloadRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public PayloadRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<PayloadRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenAPayload_WhenAddingToDatabase_ExpectItToBeSaved() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + payload.State = Payload.PayloadState.Move; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(payload).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + var actual = await collection.Find(p => p.PayloadId == payload.PayloadId).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(payload.Key, actual!.Key); + Assert.Equal(payload.State, actual!.State); + Assert.Equal(payload.Count, actual!.Count); + Assert.Equal(payload.RetryCount, actual!.RetryCount); + Assert.Equal(payload.CorrelationId, actual!.CorrelationId); + Assert.Equal(payload.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(payload.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(payload.Timeout, actual!.Timeout); + actual!.Files.Should().BeEquivalentTo(payload.Files, options => options.Excluding(p => p.DateReceived)); + } + + [Fact] + public async Task GivenAPayload_WhenRemoveIsCalled_ExpectItToDeleted() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + payload.State = Payload.PayloadState.Move; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + var added = await store.AddAsync(payload).ConfigureAwait(false); + + var removed = await store.RemoveAsync(added!).ConfigureAwait(false); + Assert.Same(removed, added); + + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + var dbResult = await collection.Find(p => p.PayloadId == payload.PayloadId).FirstOrDefaultAsync().ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + var expected = await collection.Find(Builders<Payload>.Filter.Empty).ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + actual.Should().BeEquivalentTo(expected, options => options.Excluding(p => p.DateTimeCreated).Excluding(p => p.Elapsed).Excluding(p => p.HasTimedOut)); + } + + [Fact] + public async Task GivenAPayload_WhenUpdateIsCalled_ExpectItToSaved() + { + var payload = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5); + payload.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + var added = await store.AddAsync(payload).ConfigureAwait(false); + + added.State = Payload.PayloadState.Notify; + added.Add(new DicomFileStorageMetadata(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString())); + var updated = await store.UpdateAsync(payload).ConfigureAwait(false); + Assert.NotNull(updated); + + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + var actual = await collection.Find(p => p.PayloadId == payload.PayloadId).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(updated.Key, actual!.Key); + Assert.Equal(updated.State, actual!.State); + Assert.Equal(updated.Count, actual!.Count); + Assert.Equal(updated.RetryCount, actual!.RetryCount); + Assert.Equal(updated.CorrelationId, actual!.CorrelationId); + Assert.Equal(updated.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(updated.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(updated.Timeout, actual!.Timeout); + actual!.Files.Should().BeEquivalentTo(payload.Files, options => options.Excluding(p => p.DateReceived)); + } + + [Fact] + public async Task GivenPayloadsInDifferentStates_WhenRemovePendingPayloadsAsyncIsCalled_ExpectPendingPayloadsToBeRemoved() + { + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + MongoDatabaseFixture.Clear(collection); + + var payload1 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload2 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload3 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Move }; + var payload4 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + var payload5 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + _ = await store.AddAsync(payload1).ConfigureAwait(false); + _ = await store.AddAsync(payload2).ConfigureAwait(false); + _ = await store.AddAsync(payload3).ConfigureAwait(false); + _ = await store.AddAsync(payload4).ConfigureAwait(false); + _ = await store.AddAsync(payload5).ConfigureAwait(false); + + var result = await store.RemovePendingPayloadsAsync().ConfigureAwait(false); + Assert.Equal(2, result); + + var actual = await collection.Find(Builders<Payload>.Filter.Empty).ToListAsync().ConfigureAwait(false); + Assert.Equal(3, actual.Count); + + foreach (var payload in actual) + { + Assert.NotEqual(Payload.PayloadState.Created, payload.State); + } + } + + [Fact] + public async Task GivenPayloadsInDifferentStates_WhenGetPayloadsInStateAsyncIsCalled_ExpectMatchingPayloadsToBeReturned() + { + var collection = _databaseFixture.Database.GetCollection<Payload>(nameof(Payload)); + MongoDatabaseFixture.Clear(collection); + + var payload1 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload2 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Created }; + var payload3 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Move }; + var payload4 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + var payload5 = new Payload(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), 5) { State = Payload.PayloadState.Notify }; + + var store = new PayloadRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + _ = await store.AddAsync(payload1).ConfigureAwait(false); + _ = await store.AddAsync(payload2).ConfigureAwait(false); + _ = await store.AddAsync(payload3).ConfigureAwait(false); + _ = await store.AddAsync(payload4).ConfigureAwait(false); + _ = await store.AddAsync(payload5).ConfigureAwait(false); + + var result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Move).ConfigureAwait(false); + Assert.Single(result); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Created).ConfigureAwait(false); + Assert.Equal(2, result.Count); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Notify).ConfigureAwait(false); + Assert.Equal(2, result.Count); + + result = await store.GetPayloadsInStateAsync(CancellationToken.None, Payload.PayloadState.Notify, Payload.PayloadState.Created).ConfigureAwait(false); + Assert.Equal(4, result.Count); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/SourceApplicationEntityRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/SourceApplicationEntityRepositoryTest.cs new file mode 100644 index 000000000..36ca8844e --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/SourceApplicationEntityRepositoryTest.cs @@ -0,0 +1,162 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FluentAssertions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class SourceApplicationEntityRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<SourceApplicationEntityRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public SourceApplicationEntityRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithSourceApplicationEntities(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<SourceApplicationEntityRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenAddingToDatabase_ExpectItToBeSaved() + { + var aet = new SourceApplicationEntity + { + AeTitle = "AET", + Name = "AET", + HostIp = "localhost" + }; + + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(aet).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + var actual = await collection.Find(p => p.Name == aet.Name).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(aet.AeTitle, actual!.AeTitle); + Assert.Equal(aet.Name, actual!.Name); + Assert.Equal(aet.HostIp, actual!.HostIp); + } + + [Fact] + public async Task GivenAExpressionFilter_WhenContainsAsyncIsCalled_ExpectItToReturnMatchingObjects() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var result = await store.ContainsAsync(p => p.AeTitle == "AET1").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.AeTitle.Equals("AET1")).ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name != "AET2").ConfigureAwait(false); + Assert.True(result); + result = await store.ContainsAsync(p => p.Name == "AET6").ConfigureAwait(false); + Assert.False(result); + } + + [Fact] + public async Task GivenAAETitleName_WhenFindByNameAsyncIsCalled_ExpectItToReturnMatchingEntity() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var actual = await store.FindByNameAsync("AET1").ConfigureAwait(false); + Assert.NotNull(actual); + Assert.Equal("AET1", actual!.AeTitle); + Assert.Equal("AET1", actual!.Name); + + actual = await store.FindByNameAsync("AET6").ConfigureAwait(false); + Assert.Null(actual); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenRemoveIsCalled_ExpectItToDeleted() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET5").ConfigureAwait(false); + Assert.NotNull(expected); + + var actual = await store.RemoveAsync(expected!).ConfigureAwait(false); + Assert.Same(expected, actual); + + var collection = _databaseFixture.Database.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + var dbResult = await collection.Find(p => p.Name == "AET5").FirstOrDefaultAsync().ConfigureAwait(false); + Assert.Null(dbResult); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var collection = _databaseFixture.Database.GetCollection<SourceApplicationEntity>(nameof(SourceApplicationEntity)); + var expected = await collection.Find(Builders<SourceApplicationEntity>.Filter.Empty).ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + actual.Should().BeEquivalentTo(expected, options => options.Excluding(p => p.DateTimeCreated)); + } + + [Fact] + public async Task GivenASourceApplicationEntity_WhenUpdatedIsCalled_ExpectItToSaved() + { + var store = new SourceApplicationEntityRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var expected = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(expected); + + expected!.AeTitle = "AET100"; + + var actual = await store.UpdateAsync(expected).ConfigureAwait(false); + Assert.Equal(expected, actual); + + var dbResult = await store.FindByNameAsync("AET3").ConfigureAwait(false); + Assert.NotNull(dbResult); + Assert.Equal(expected.AeTitle, dbResult!.AeTitle); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/StorageMetadataWrapperRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/StorageMetadataWrapperRepositoryTest.cs new file mode 100644 index 000000000..f0e460297 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/StorageMetadataWrapperRepositoryTest.cs @@ -0,0 +1,267 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System.Text.Json; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Api.Storage; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class StorageMetadataWrapperRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<StorageMetadataWrapperRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public StorageMetadataWrapperRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<StorageMetadataWrapperRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public void GivenStorageMetadataWrapperRepositoryType_WhenInitialized_TheConstructorShallGuardAllParameters() + { + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(null!, null!, null!, null!)); + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, null!, null!, null!)); + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, null!, null!)); + Assert.Throws<ArgumentNullException>(() => new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, null!)); + + _ = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + } + + [Fact] + public async Task GivenADicomStorageMetadataObject_WhenAddingToDatabase_ExpectItToBeSaved() + { + var metadata = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(metadata).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + var actual = await collection.Find(p => p.Identity == metadata.Id).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(metadata.CorrelationId, actual!.CorrelationId); + Assert.Equal(metadata.IsUploaded, actual!.IsUploaded); + Assert.Equal(metadata.GetType().AssemblyQualifiedName, actual!.TypeName); + Assert.Equal(JsonSerializer.Serialize<object>(metadata), actual!.Value); + } + + [Fact] + public async Task GivenANonExistedDicomStorageMetadataObject_WhenSavedToDatabase_ThrowsArgumentException() + { + var metadata1 = CreateMetadataObject(); + var metadata2 = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + await store.AddOrUpdateAsync(metadata1).ConfigureAwait(false); + await Assert.ThrowsAsync<ArgumentException>(async () => await store.UpdateAsync(metadata2).ConfigureAwait(false)).ConfigureAwait(false); + } + + [Fact] + public async Task GivenAnExistingDicomStorageMetadataObject_WhenUpdated_ExpectItToBeSaved() + { + var metadata = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(metadata).ConfigureAwait(false); + metadata.SetWorkflows("A", "B", "C"); + metadata.File.SetUploaded("bucket"); + + await store.AddOrUpdateAsync(metadata).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + var actual = await collection.Find(p => p.Identity == metadata.Id).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(metadata.CorrelationId, actual!.CorrelationId); + Assert.Equal(metadata.IsUploaded, actual!.IsUploaded); + Assert.Equal(metadata.GetType().AssemblyQualifiedName, actual!.TypeName); + Assert.Equal(JsonSerializer.Serialize<object>(metadata), actual!.Value); + + var unwrapped = actual.GetObject(); + Assert.NotNull(unwrapped); + + Assert.Equal(metadata.Workflows, unwrapped!.Workflows); + Assert.Equal(metadata.File.TemporaryBucketName, unwrapped!.File.TemporaryBucketName); + } + + [Fact] + public async Task GivenACorrelationId_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() + { + var correlationId = Guid.NewGuid(); + var list = new List<FileStorageMetadata>{ + CreateMetadataObject(correlationId), + CreateMetadataObject(correlationId), + CreateMetadataObject(), + new FhirFileStorageMetadata( + correlationId.ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + FhirStorageFormat.Json), + new FhirFileStorageMetadata( + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + FhirStorageFormat.Json), + }; + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + foreach (var item in list) + { + await store.AddOrUpdateAsync(item).ConfigureAwait(false); + } + + var results = await store.GetFileStorageMetdadataAsync(correlationId.ToString()).ConfigureAwait(false); + + Assert.Equal(3, results.Count); + + Assert.Collection(results, + (item) => item!.Id.Equals(list[0].Id), + (item) => item!.Id.Equals(list[1].Id), + (item) => item!.Id.Equals(list[2].Id)); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenGetFileStorageMetdadataIsCalled_ExpectMatchingFileStorageMetadataToBeReturned() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var expected = new DicomFileStorageMetadata( + correlationId, + identifier, + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddOrUpdateAsync(expected).ConfigureAwait(false); + + var match = await store.GetFileStorageMetdadataAsync(correlationId, identifier).ConfigureAwait(false); + + Assert.NotNull(match); + Assert.Equal(expected.Id, match!.Id); + Assert.Equal(expected.CorrelationId, match.CorrelationId); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalled_ExpectMatchingInstanceToBeDeleted() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var expected = new DicomFileStorageMetadata( + correlationId, + identifier, + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(expected).ConfigureAwait(false); + var result = await store.DeleteAsync(correlationId, identifier).ConfigureAwait(false); + Assert.True(result); + + var collection = _databaseFixture.Database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + var stored = await collection.Find(p => p.Identity == identifier).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.Null(stored); + } + + [Fact] + public async Task GivenACorrelationIdAndAnIdentity_WhenDeleteAsyncIsCalledWithoutAMatch_ExpectNothingIsDeleted() + { + var correlationId = Guid.NewGuid().ToString(); + var identifier = Guid.NewGuid().ToString(); + var pending = CreateMetadataObject(); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(pending).ConfigureAwait(false); + + var result = await store.DeleteAsync(correlationId, identifier).ConfigureAwait(false); + Assert.False(result); + + var collection = _databaseFixture.Database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + var stored = await collection.Find(p => p.Identity == pending.Id).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(stored); + } + + [Fact] + public async Task GivenStorageMetadataObjects_WhenDeletingPendingUploadsObject_ExpectAllPendingObjectsToBeDeleted() + { + var collection = _databaseFixture.Database.GetCollection<StorageMetadataWrapper>(nameof(StorageMetadataWrapper)); + MongoDatabaseFixture.Clear(collection); + + var pending = CreateMetadataObject(); + var uploaded = CreateMetadataObject(); + uploaded.File.SetUploaded("bucket"); + uploaded.JsonFile.SetUploaded("bucket"); + + var store = new StorageMetadataWrapperRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(pending).ConfigureAwait(false); + await store.AddAsync(uploaded).ConfigureAwait(false); + + await store.DeletePendingUploadsAsync().ConfigureAwait(false); + + var result = await collection.Find(Builders<StorageMetadataWrapper>.Filter.Empty).ToListAsync().ConfigureAwait(false); + Assert.Single(result); + Assert.Equal(uploaded.Id, result[0].Identity); + } + + private static DicomFileStorageMetadata CreateMetadataObject() => CreateMetadataObject(Guid.NewGuid()); + + private static DicomFileStorageMetadata CreateMetadataObject(Guid corrleationId) => new( + corrleationId.ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString(), + Guid.NewGuid().ToString()); + } +} diff --git a/src/Database/MongoDB/Integration.Test/Usings.cs b/src/Database/MongoDB/Integration.Test/Usings.cs new file mode 100644 index 000000000..1a1f3f8a0 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/Usings.cs @@ -0,0 +1,17 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +global using Xunit; diff --git a/src/Database/MongoDB/Integration.Test/packages.lock.json b/src/Database/MongoDB/Integration.Test/packages.lock.json new file mode 100644 index 000000000..e5dc83b40 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/packages.lock.json @@ -0,0 +1,1480 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "coverlet.collector": { + "type": "Direct", + "requested": "[3.2.0, )", + "resolved": "3.2.0", + "contentHash": "xjY8xBigSeWIYs4I7DgUHqSNoGqnHi7Fv7/7RZD02rvZyG3hlsjnQKiVKVWKgr9kRKgmV+dEfu8KScvysiC0Wg==" + }, + "FluentAssertions": { + "type": "Direct", + "requested": "[6.8.0, )", + "resolved": "6.8.0", + "contentHash": "NfSlAG97wMxS48Ov+wQEhJITdn4bKrgtKrG4sCPrFBVKozpC57lQ2vzsPdxUOsPbfEgEQTMtvCDECxIlDBfgNA==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.4.0, )", + "resolved": "17.4.0", + "contentHash": "VtNZQ83ntG2aEUjy1gq6B4HNdn96se6FmdY/03At8WiqDReGrApm6OB2fNiSHz9D6IIEtWtNZ2FSH0RJDVXl/w==", + "dependencies": { + "Microsoft.CodeCoverage": "17.4.0", + "Microsoft.TestPlatform.TestHost": "17.4.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.2, )", + "resolved": "2.4.2", + "contentHash": "6Mj73Ont3zj2CJuoykVJfE0ZmRwn7C+pTuRP8c4bnaaTFjwNG6tGe0prJ1yIbMe9AHrpDys63ctWacSsFJWK/w==", + "dependencies": { + "xunit.analyzers": "1.0.0", + "xunit.assert": "2.4.2", + "xunit.core": "[2.4.2]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.5, )", + "resolved": "2.4.5", + "contentHash": "OwHamvBdUKgqsXfBzWiCW/O98BTx81UKzx2bieIOQI7CZFE5NEQZGi8PBQGIKawDW96xeRffiNf20SjfC0x9hw==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.100.6", + "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==", + "dependencies": { + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "4H/f2uYJOZ+YObZjpY9ABrKZI+JNw3uizp6oMzTXwDw6F+2qIPhpRl/1t68O/6e98+vqNiYGu+lswmwdYUy3gg==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "fo-dicom": { + "type": "Transitive", + "resolved": "5.0.3", + "contentHash": "OPkCQ9+X/fvGRokAAgjR8bOpai04qlnNHmq+LsgI+Kyug3yar2zk6IMOSSvPOLgWe0EG9ScdqH44AGKnviH5Rw==", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "1.1.1", + "Microsoft.Extensions.DependencyInjection": "2.2.0", + "Microsoft.Extensions.Options": "2.2.0", + "Microsoft.Toolkit.HighPerformance": "7.1.2", + "System.Buffers": "4.5.1", + "System.Text.Encoding.CodePages": "4.6.0", + "System.Text.Encodings.Web": "4.7.2", + "System.Text.Json": "4.7.2", + "System.Threading.Channels": "6.0.0" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Macross.Json.Extensions": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "AkNshs6dopj8FXsmkkJxvLivN2SyDJQDbjcds5lo9+Y6L4zpcoXdmzXQ3VVN+AIWQr0CTD5A7vkuHGAr2aypZg==" + }, + "Microsoft.Bcl.AsyncInterfaces": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "yuvf07qFWFqtK3P/MRkEKLhn5r2UbSpVueRziSqj0yJQIKFwG1pq9mOayK3zE5qZCTs0CbrwL9M6R8VwqyGy2w==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "2oZbSVTC2nAvQ2DnbXLlXS+c25ZyZdWeNd+znWwAxwGaPh9dwQ5NBsYyqQB7sKmJKIUdkKGmN3rzFzjVC81Dtg==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "vWXPg3HJQIpZkENn1KWq8SfbqVujVD7S7vIAyFXXqK5xkf1Vho+vG0bLBCHxU36lD1cLLtmGpfYf0B3MYFi9tQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.Diagnostics.HealthChecks": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { + "type": "Transitive", + "resolved": "6.0.10", + "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "oWe7A0wrZhxagTOcaxJ9r0NXTbgkiBQQuCpCXxnP06NsGV/qOoaY2oaangAJbOUrwEx0eka1do400NwNCjfytw==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.4.0", + "contentHash": "sUx48fu9wgQF1JxzXeSVtzb7KoKpJrdtIzsFamxET3ZYOKXj+Ej13HWZ0U2nuMVZtZVHBmE+KS3Vv5cIdTlycQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.4.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.Toolkit.HighPerformance": { + "type": "Transitive", + "resolved": "7.1.2", + "contentHash": "cezzRky0BUJyYmSrcQUcX8qAv90JfUwCqWEbqfWZLHyeANo9/LWgW6y50pqbyc8r8SPXVsu2GNH98fB3VxrnvA==" + }, + "Microsoft.Win32.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.16", + "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "System.ComponentModel.Annotations": "5.0.0", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.100.6", + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Logging": "6.0.0", + "Monai.Deploy.Storage.S3Policy": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "Monai.Deploy.Storage.S3Policy": { + "type": "Transitive", + "resolved": "0.2.10", + "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "iyiVjkCAZIUiyYDZXXUqISeW7n3O/qcM90PUeJybryg7g4rXhSMRY0oLpAg+NdoXD/Qm9LlmVIePAluHQB91tQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "nq7wRMeNoqUe+bndHFMDGX8IY3iSmzLoyLzzf8DRos137O+5R4NCsd9qtw/n+DoGFas0gzzyD546Cpz+5AkmLg==", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Driver.Core": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.18.0", + "contentHash": "/X5Ty32gyDyzs/fWFwKGS0QUhfQT3V9Sc/F8yhILBu8bjCjBscOFKQsKieAha8xxBnYS7dZvTvhvEJWT7HgJ1g==", + "dependencies": { + "DnsClient": "1.6.1", + "Microsoft.Extensions.Logging.Abstractions": "2.0.0", + "MongoDB.Bson": "2.18.0", + "MongoDB.Libmongocrypt": "1.6.0", + "SharpCompress": "0.30.1", + "Snappier": "1.0.0", + "System.Buffers": "4.5.1", + "ZstdSharp.Port": "0.6.2" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kh+MMf+ECIf5sQDIqOdKBd75ktD5aD1EuzCX3R4HOUGPlAbeAm8harf4zwlbvFe2BLfCXZO7HajSABLf4P0GNg==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "1.6.1", + "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", + "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" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "Polly": { + "type": "Transitive", + "resolved": "7.2.3", + "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snappier": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "rFtK2KEI9hIe8gtx3a0YDXdHOpedIf9wYCEYtBEmtlyiWVX3XlCNV03JrmmAi/Cdfn7dxK+k0sjjcLv4fpHnqA==" + }, + "System.AppContext": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "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" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.4.0" + } + }, + "System.Console": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tools": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "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.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, + "System.IO.Compression": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Buffers": "4.3.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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", + "dependencies": { + "System.Buffers": "4.3.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" + } + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "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" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "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.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "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.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.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.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "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.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.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.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "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.Sockets": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "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" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "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" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "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.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", + "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" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "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.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "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": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "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.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "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.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "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" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "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.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.CodePages": { + "type": "Transitive", + "resolved": "4.6.0", + "contentHash": "OCUK9C/U97+UheVwo+JE+IUcKySUE3Oe+BcHhVtQrvmKSUFLrUDO8B5zEPRL6mBGbczxZp4w1boSck6/fw4dog==", + "dependencies": { + "Microsoft.NETCore.Platforms": "3.0.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "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.Encodings.Web": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "iTUgB/WtrZ1sWZs84F2hwyQhiRH6QNjQv2DkwrH+WP6RoFga2Q1m3f9/Q7FG8cck8AdHitQkmkXSY8qylcDmuA==" + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "4.7.2", + "contentHash": "TcMd95wcrubm9nHvJEQs70rC0H/8omiSGGpU4FQ/ZA1URIqD4pjmFJh2Mfv1yH1eHgJDWTi2hMDXwTET+zOOyg==" + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Dataflow": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Timer": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "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" + } + }, + "System.Xml.XDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", + "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" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "1.0.0", + "contentHash": "BeO8hEgs/c8Ls2647fPfieMngncvf0D0xYNDfIO59MolxtCtVjFRd6SRc+7tj8VMqkVOuJcnc9eh4ngI2cAmLQ==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "pxJISOFjn2XTTi1mcDCkRZrTFb9OtRRCtx2kZFNF51GdReLr1ls2rnyxvAS4JO247K3aNtflvh5Q0346K5BROA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "KB4yGCxNqIVyekhJLXtKSEq6BaXVp/JO3mbGVE1hxypZTLEe7h+sTbAhpA+yZW2dPtXTuiW+C1B2oxxHEkrmOw==", + "dependencies": { + "xunit.extensibility.core": "[2.4.2]", + "xunit.extensibility.execution": "[2.4.2]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "W1BoXTIN1C6kpVSMw25huSet25ky6IAQUNovu3zGOGN/jWnbgSoTyCrlIhmXSg0tH5nEf8q7h3OjNHOjyu5PfA==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.2", + "contentHash": "CZmgcKkwpyo8FlupZdWpJCryrAOWLh1FBPG6gmVZuPQkGQsim/oL4PcP4nfrC2hHgXUFtluvaJ0Sp9PQKUMNpg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.2]" + } + }, + "ZstdSharp.Port": { + "type": "Transitive", + "resolved": "0.6.2", + "contentHash": "jPao/LdUNLUz8rn3H1D8W7wQbZsRZM0iayvWI4xGejJg3XJHT56gcmYdgmCGPdJF1UEBqUjucCRrFB+4HbJsbw==" + }, + "monai.deploy.informaticsgateway.api": { + "type": "Project", + "dependencies": { + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10" + } + }, + "monai.deploy.informaticsgateway.common": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" + } + }, + "monai.deploy.informaticsgateway.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Storage": "0.2.10", + "System.IO.Abstractions": "17.2.3" + } + }, + "monai.deploy.informaticsgateway.database.api": { + "type": "Project", + "dependencies": { + "Microsoft.EntityFrameworkCore": "6.0.11", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" + } + }, + "monai.deploy.informaticsgateway.database.mongodb": { + "type": "Project", + "dependencies": { + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" + } + } + } + } +} \ No newline at end of file diff --git a/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj b/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj index 56f0a462a..b174e0184 100644 --- a/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj +++ b/src/Database/MongoDB/Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj @@ -27,9 +27,9 @@ </PropertyGroup> <ItemGroup> - <Compile Remove="Test\**" /> - <EmbeddedResource Remove="Test\**" /> - <None Remove="Test\**" /> + <Compile Remove="Integration.Test\**" /> + <EmbeddedResource Remove="Integration.Test\**" /> + <None Remove="Integration.Test\**" /> </ItemGroup> <ItemGroup> diff --git a/src/Database/MongoDB/Repositories/PayloadRepository.cs b/src/Database/MongoDB/Repositories/PayloadRepository.cs index 6f84784f2..8a5d30806 100644 --- a/src/Database/MongoDB/Repositories/PayloadRepository.cs +++ b/src/Database/MongoDB/Repositories/PayloadRepository.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using System.Linq.Expressions; using Ardalis.GuardClauses; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; @@ -89,15 +88,6 @@ public async Task<Payload> AddAsync(Payload item, CancellationToken cancellation }).ConfigureAwait(false); } - public async Task<bool> ContainsAsync(Expression<Func<Payload, bool>> predicate, CancellationToken cancellationToken = default) - { - return await _retryPolicy.ExecuteAsync(async () => - { - var result = await _collection.FindAsync(predicate, cancellationToken: cancellationToken).ConfigureAwait(false); - return await result.AnyAsync(cancellationToken).ConfigureAwait(false); - }).ConfigureAwait(false); - } - public async Task<Payload> RemoveAsync(Payload entity, CancellationToken cancellationToken = default) { Guard.Against.Null(entity); diff --git a/src/DicomWebClient/Test/packages.lock.json b/src/DicomWebClient/Test/packages.lock.json index 4734d7ead..2fc3a4a23 100644 --- a/src/DicomWebClient/Test/packages.lock.json +++ b/src/DicomWebClient/Test/packages.lock.json @@ -1208,20 +1208,20 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index c04041810..726531cb2 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -39,7 +39,6 @@ <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="NPOI" Version="2.5.6" /> <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index 8b1cd89ca..7853cedeb 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -48,18 +48,6 @@ "Castle.Core": "5.1.0" } }, - "NPOI": { - "type": "Direct", - "requested": "[2.5.6, )", - "resolved": "2.5.6", - "contentHash": "xQfr09LZN3fr4rjSuV3li+WJUo2LiSg00IUtnomzrKO51zhhavyIgvbZ1f8c8zwHXvRbFc1JB4PNZpxqyxizWw==", - "dependencies": { - "Portable.BouncyCastle": "1.8.9", - "SharpZipLib": "1.3.3", - "System.Configuration.ConfigurationManager": "4.5.0", - "System.Drawing.Common": "4.5.0" - } - }, "Swashbuckle.AspNetCore": { "type": "Direct", "requested": "[6.4.0, )", @@ -885,14 +873,6 @@ "System.Security.Principal.Windows": "5.0.0" } }, - "Microsoft.Win32.SystemEvents": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "LuI1oG+24TUj1ZRQQjM5Ew73BKnZE5NZ/7eAdh1o8ST5dPhUnJvIkiIn2re3MwnkRy6ELRnvEbBxHP8uALKhJw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - } - }, "Minio": { "type": "Transitive", "resolved": "4.0.6", @@ -1063,11 +1043,6 @@ "resolved": "7.2.3", "contentHash": "DeCY0OFbNdNxsjntr1gTXHJ5pKUwYzp04Er2LLeN3g6pWhffsGuKVfMBLe1lw7x76HrPkLxKEFxBlpRxS2nDEQ==" }, - "Portable.BouncyCastle": { - "type": "Transitive", - "resolved": "1.8.9", - "contentHash": "wlJo8aFoeyl+W93iFXTK5ShzDYk5WBqoUPjTNEM0Xv9kn1H+4hmuCjF0/n8HLm9Nnp1aY6KNndWqQTNk+NGgRQ==" - }, "RabbitMQ.Client": { "type": "Transitive", "resolved": "6.4.0", @@ -1180,11 +1155,6 @@ "resolved": "0.30.1", "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" }, - "SharpZipLib": { - "type": "Transitive", - "resolved": "1.3.3", - "contentHash": "N8+hwhsKZm25tDJfWpBSW7EGhH/R7EMuiX+KJ4C4u+fCWVc1lJ5zg1u3S1RPPVYgTqhx/C3hxrqUpi6RwK5+Tg==" - }, "Snappier": { "type": "Transitive", "resolved": "1.0.0", @@ -1287,15 +1257,6 @@ "resolved": "5.0.0", "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "4.5.0", - "System.Security.Permissions": "4.5.0" - } - }, "System.Diagnostics.Debug": { "type": "Transitive", "resolved": "4.3.0", @@ -1329,15 +1290,6 @@ "System.Runtime": "4.3.0" } }, - "System.Drawing.Common": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "AiJFxxVPdeITstiRS5aAu8+8Dpf5NawTMoapZ53Gfirml24p7HIfhjmCRxdXnmmf3IUA3AX3CcW7G73CjWxW/Q==", - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "Microsoft.Win32.SystemEvents": "4.5.0" - } - }, "System.Globalization": { "type": "Transitive", "resolved": "4.3.0", @@ -1713,11 +1665,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" - }, "System.Security.Cryptography.X509Certificates": { "type": "Transitive", "resolved": "4.3.0", @@ -1750,14 +1697,6 @@ "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" } }, - "System.Security.Permissions": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", - "dependencies": { - "System.Security.AccessControl": "4.5.0" - } - }, "System.Security.Principal.Windows": { "type": "Transitive", "resolved": "5.0.0", diff --git a/src/Monai.Deploy.InformaticsGateway.sln b/src/Monai.Deploy.InformaticsGateway.sln index 51c87fe4d..1bf686dba 100644 --- a/src/Monai.Deploy.InformaticsGateway.sln +++ b/src/Monai.Deploy.InformaticsGateway.sln @@ -52,7 +52,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Database", "Database", "{29 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test", "Database\EntityFramework\Test\Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj", "{EA930DE2-33C4-447C-9E26-31387652D408}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monai.Deploy.InformaticsGateway.Database.MongoDB", "Database\MongoDB\Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj", "{5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.InformaticsGateway.Database.MongoDB", "Database\MongoDB\Monai.Deploy.InformaticsGateway.Database.MongoDB.csproj", "{5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test", "Database\MongoDB\Integration.Test\Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj", "{2F849556-44B6-484A-B612-CB0FA5D29AC6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -352,6 +354,18 @@ Global {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x64.Build.0 = Release|Any CPU {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x86.ActiveCfg = Release|Any CPU {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31}.Release|x86.Build.0 = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|x64.ActiveCfg = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|x64.Build.0 = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|x86.ActiveCfg = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Debug|x86.Build.0 = Debug|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|Any CPU.Build.0 = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|x64.ActiveCfg = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|x64.Build.0 = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|x86.ActiveCfg = Release|Any CPU + {2F849556-44B6-484A-B612-CB0FA5D29AC6}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -372,6 +386,7 @@ Global {7F56994D-5310-467F-96FC-87C26F151737} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {EA930DE2-33C4-447C-9E26-31387652D408} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} {5ED73EEA-4DFA-426D-82E8-AA24D3CB4C31} = {290E4C9B-841D-4E2C-91A0-5A69BAB122F3} + {2F849556-44B6-484A-B612-CB0FA5D29AC6} = {B8E99EF7-84EA-4D11-B722-9EE81B89CD86} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E23DC856-D033-49F6-9BC6-9F1D0ECD05CB} diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index bdb8c7a3a..7f4ab6c95 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -1724,136 +1724,136 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "DotNext.Threading": "4.7.4", - "HL7-dotnetcore": "2.29.0", - "Karambolo.Extensions.Logging.File": "3.3.1", - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Hosting": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", - "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.MinIO": "0.2.10", - "NLog": "5.0.5", - "NLog.Web.AspNetCore": "5.1.5", - "Polly": "7.2.3", - "Swashbuckle.AspNetCore": "6.4.0", - "fo-dicom": "5.0.3", - "fo-dicom.NLog": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "DotNext.Threading": "[4.7.4, )", + "HL7-dotnetcore": "[2.29.0, )", + "Karambolo.Extensions.Logging.File": "[3.3.1, )", + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Hosting": "[6.0.1, )", + "Microsoft.Extensions.Logging": "[6.0.0, )", + "Microsoft.Extensions.Logging.Console": "[6.0.0, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "Monai.Deploy.Storage.MinIO": "[0.2.10, )", + "NLog": "[5.0.5, )", + "NLog.Web.AspNetCore": "[5.1.5, )", + "Polly": "[7.2.3, )", + "Swashbuckle.AspNetCore": "[6.4.0, )", + "fo-dicom": "[5.0.3, )", + "fo-dicom.NLog": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.16, )", + "Monai.Deploy.Storage": "[0.2.10, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } From 8058751df2d069d8da74af1d7b671e92644624b7 Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Wed, 23 Nov 2022 10:00:20 +0000 Subject: [PATCH 090/101] small improvments Signed-off-by: Neil South <neil.south@answerdigital.com> --- .../Services/Connectors/PayloadAssembler.cs | 30 +++++++++++-------- .../Services/Storage/IObjectUploadQueue.cs | 3 +- .../Services/Storage/ObjectUploadQueue.cs | 8 +++-- .../Services/Storage/ObjectUploadService.cs | 4 +-- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index 27bbdf55f..91379bb02 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -129,30 +129,34 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) try { _timer.Enabled = false; - _logger.BucketActive(_payloads.Count); + if (_payloads.Any()) + { + _logger.BucketActive(_payloads.Count); + } foreach (var key in _payloads.Keys) { _logger.BucketElapsedTime(key); var payload = await _payloads[key].Task.ConfigureAwait(false); using var loggerScope = _logger.BeginScope(new LoggingDataDictionary<string, object> { { "CorrelationId", payload.CorrelationId } }); - if (payload.HasTimedOut) + + if (payload.IsUploadCompleted()) + { + if (_payloads.TryRemove(key, out _)) + { + await QueueBucketForNotification(key, payload).ConfigureAwait(false); + } + else + { + _logger.BucketRemoveError(key); + } + } + else if (payload.HasTimedOut) { if (payload.ContainerUploadFailures()) { _payloads.TryRemove(key, out _); _logger.PayloadRemovedWithFailureUploads(key); } - else if (payload.IsUploadCompleted()) - { - if (_payloads.TryRemove(key, out _)) - { - await QueueBucketForNotification(key, payload).ConfigureAwait(false); - } - else - { - _logger.BucketRemoveError(key); - } - } } } } diff --git a/src/InformaticsGateway/Services/Storage/IObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/IObjectUploadQueue.cs index 94efddc3e..09deb2dc2 100644 --- a/src/InformaticsGateway/Services/Storage/IObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/IObjectUploadQueue.cs @@ -16,6 +16,7 @@ */ using System.Threading; +using System.Threading.Tasks; using Monai.Deploy.InformaticsGateway.Api.Storage; namespace Monai.Deploy.InformaticsGateway.Services.Storage @@ -36,6 +37,6 @@ internal interface IObjectUploadQueue /// The default implementation blocks the call until a file is available from the queue. /// </summary> /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> - FileStorageMetadata Dequeue(CancellationToken cancellationToken); + Task<FileStorageMetadata> Dequeue(CancellationToken cancellationToken); } } diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs index 50cf597df..27f728c95 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs @@ -16,9 +16,9 @@ using System; using System.Collections.Concurrent; -using System.Collections.Generic; using System.Diagnostics; using System.Threading; +using System.Threading.Tasks; using Ardalis.GuardClauses; using Microsoft.Extensions.Logging; using Monai.Deploy.InformaticsGateway.Api.Storage; @@ -47,7 +47,7 @@ public void Queue(FileStorageMetadata file) _logger.InstanceAddedToUploadQueue(file.Id, _workItems.Count, process.WorkingSet64 / 1024.0); } - public FileStorageMetadata Dequeue(CancellationToken cancellationToken) + public async Task<FileStorageMetadata> Dequeue(CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { @@ -56,6 +56,10 @@ public FileStorageMetadata Dequeue(CancellationToken cancellationToken) _logger.InstanceInUploadQueue(_workItems.Count); return reuslt; } + if (_workItems.IsEmpty) + { + await Task.Delay(100, cancellationToken).ConfigureAwait(false); + } } throw new OperationCanceledException("Cancellation requested."); } diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 227d3e1d3..47acc9eb4 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -20,7 +20,6 @@ using System.Diagnostics; using System.Threading; using System.Threading.Tasks; -using System.Threading.Tasks.Dataflow; using Ardalis.GuardClauses; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -32,7 +31,6 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Logging; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.Storage.API; using Polly; @@ -106,7 +104,7 @@ private async Task StartWorker(int thread, CancellationToken cancellationToken) { try { - var item = _uplaodQueue.Dequeue(cancellationToken); + var item = await _uplaodQueue.Dequeue(cancellationToken); await ProcessObject(item); } catch (OperationCanceledException ex) From e6ea3b67ebb7366b09a3389cdcafc609d0328045 Mon Sep 17 00:00:00 2001 From: Neil South <neil.south@answerdigital.com> Date: Wed, 23 Nov 2022 14:34:41 +0000 Subject: [PATCH 091/101] fix up after merge Signed-off-by: Neil South <neil.south@answerdigital.com> --- .../Services/Connectors/PayloadAssembler.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs index c20120104..a539f5f23 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadAssembler.cs @@ -123,10 +123,11 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) try { await _intializedTask.ConfigureAwait(false); + _timer.Enabled = false; - if (_payloads.Any()) + if (_payloads.Count > 0) { - _logger.BucketActive(_payloads.Count); + _logger.BucketsActive(_payloads.Count); } foreach (var key in _payloads.Keys) { @@ -147,7 +148,7 @@ private async void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) } else if (payload.HasTimedOut) { - if (payload.ContainerUploadFailures()) + if (payload.AnyUploadFailures()) { _payloads.TryRemove(key, out _); _logger.PayloadRemovedWithFailureUploads(key); From 0749690678bff5db287add43f6f6666b02afb7bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Nov 2022 08:02:46 -0800 Subject: [PATCH 092/101] Bump anchore/scan-action from 3.3.1 to 3.3.2 (#265) Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/anchore/scan-action/releases) - [Changelog](https://github.com/anchore/scan-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/anchore/scan-action/compare/v3.3.1...v3.3.2) --- updated-dependencies: - dependency-name: anchore/scan-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33984fa21..6545b5ddd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -402,7 +402,7 @@ jobs: - name: Anchore container scan id: anchore-scan - uses: anchore/scan-action@v3.3.1 + uses: anchore/scan-action@v3.3.2 if: ${{ (matrix.os == 'ubuntu-latest') }} with: image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} From 438faee9ea72959ec68db294c4ff1be5995a60c3 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 23 Nov 2022 10:30:38 -0800 Subject: [PATCH 093/101] Record associations to the database (#263) * Record associations to the database Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/Api/DicomAssociationInfo.cs | 49 +++ .../IDicomAssociationInfoRepository.cs | 28 ++ src/Database/DatabaseManager.cs | 2 + .../DicomAssociationInfoConfiguration.cs | 39 +++ .../InformaticsGatewayContext.cs | 2 + .../20221123174502_R3_0.3.5.Designer.cs | 279 ++++++++++++++++++ .../Migrations/20221123174502_R3_0.3.5.cs | 40 +++ .../InformaticsGatewayContextModelSnapshot.cs | 46 ++- .../DicomAssociationInfoRepository.cs | 99 +++++++ .../DicomAssociationInfoRepositoryTest.cs | 96 ++++++ .../Test/SqliteDatabaseFixture.cs | 20 +- .../DicomAssociationInfoConfiguration.cs | 34 +++ .../DicomAssociationInfoRepositoryTest.cs | 103 +++++++ .../Integration.Test/MongoDatabaseFixture.cs | 25 +- .../MongoDB/MongoDatabaseMigrationManager.cs | 1 + .../DicomAssociationInfoRepository.cs | 101 +++++++ .../Logging/Log.100.200.ScpService.cs | 3 + .../Services/Scp/ScpServiceInternal.cs | 32 +- .../Test/Shared/DicomScpFixture.cs | 5 +- tests/Integration.Test/Common/DicomScp.cs | 4 +- 20 files changed, 997 insertions(+), 11 deletions(-) create mode 100644 src/Api/DicomAssociationInfo.cs create mode 100644 src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs create mode 100644 src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs create mode 100644 src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.Designer.cs create mode 100644 src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs create mode 100644 src/Database/EntityFramework/Repositories/DicomAssociationInfoRepository.cs create mode 100644 src/Database/EntityFramework/Test/DicomAssociationInfoRepositoryTest.cs create mode 100644 src/Database/MongoDB/Configurations/DicomAssociationInfoConfiguration.cs create mode 100644 src/Database/MongoDB/Integration.Test/DicomAssociationInfoRepositoryTest.cs create mode 100644 src/Database/MongoDB/Repositories/DicomAssociationInfoRepository.cs diff --git a/src/Api/DicomAssociationInfo.cs b/src/Api/DicomAssociationInfo.cs new file mode 100644 index 000000000..dbcb981d7 --- /dev/null +++ b/src/Api/DicomAssociationInfo.cs @@ -0,0 +1,49 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; + +namespace Monai.Deploy.InformaticsGateway.Api +{ + public class DicomAssociationInfo : MongoDBEntityBase + { + public DateTime DateTimeDisconnected { get; set; } + public string CorrelationId { get; set; } + public int FileCount { get; private set; } + public string CallingAeTitle { get; set; } + public string CalledAeTitle { get; set; } + public string RemoteHost { get; set; } + public int RemotePort { get; set; } + public string Errors { get; set; } + public TimeSpan Duration { get; private set; } + + public DicomAssociationInfo() + { + FileCount = 0; + } + + public void FileReceived() + { + FileCount++; + } + + public void Disconnect() + { + DateTimeDisconnected = DateTime.UtcNow; + Duration = DateTimeDisconnected.Subtract(DateTimeCreated); + } + } +} diff --git a/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs b/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs new file mode 100644 index 000000000..4381c3aa8 --- /dev/null +++ b/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs @@ -0,0 +1,28 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories +{ + public interface IDicomAssociationInfoRepository + { + Task<List<DicomAssociationInfo>> ToListAsync(CancellationToken cancellationToken = default); + + Task<DicomAssociationInfo> AddAsync(DicomAssociationInfo item, CancellationToken cancellationToken = default); + + } +} diff --git a/src/Database/DatabaseManager.cs b/src/Database/DatabaseManager.cs index 1aafa7666..0a554734e 100644 --- a/src/Database/DatabaseManager.cs +++ b/src/Database/DatabaseManager.cs @@ -54,6 +54,7 @@ public static IServiceCollection ConfigureDatabase(this IServiceCollection servi services.AddScoped(typeof(ISourceApplicationEntityRepository), typeof(EntityFramework.Repositories.SourceApplicationEntityRepository)); services.AddScoped(typeof(IStorageMetadataRepository), typeof(EntityFramework.Repositories.StorageMetadataWrapperRepository)); services.AddScoped(typeof(IPayloadRepository), typeof(EntityFramework.Repositories.PayloadRepository)); + services.AddScoped(typeof(IDicomAssociationInfoRepository), typeof(EntityFramework.Repositories.DicomAssociationInfoRepository)); return services; case DbType_MongoDb: services.AddSingleton<IMongoClient, MongoClient>(s => new MongoClient(connectionStringConfigurationSection[SR.DatabaseConnectionStringKey])); @@ -65,6 +66,7 @@ public static IServiceCollection ConfigureDatabase(this IServiceCollection servi services.AddScoped(typeof(ISourceApplicationEntityRepository), typeof(MongoDB.Repositories.SourceApplicationEntityRepository)); services.AddScoped(typeof(IStorageMetadataRepository), typeof(MongoDB.Repositories.StorageMetadataWrapperRepository)); services.AddScoped(typeof(IPayloadRepository), typeof(MongoDB.Repositories.PayloadRepository)); + services.AddScoped(typeof(IDicomAssociationInfoRepository), typeof(MongoDB.Repositories.DicomAssociationInfoRepository)); return services; default: diff --git a/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs b/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs new file mode 100644 index 000000000..845e3cbb5 --- /dev/null +++ b/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs @@ -0,0 +1,39 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using Monai.Deploy.InformaticsGateway.Api; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration +{ + internal class DicomAssociationInfoConfiguration : IEntityTypeConfiguration<DicomAssociationInfo> + { + public void Configure(EntityTypeBuilder<DicomAssociationInfo> builder) + { + builder.HasKey(j => j.Id); + builder.Property(j => j.CalledAeTitle).IsRequired(); + builder.Property(j => j.CalledAeTitle).IsRequired(); + builder.Property(j => j.DateTimeCreated).IsRequired(); + builder.Property(j => j.DateTimeDisconnected).IsRequired(); + builder.Property(j => j.CorrelationId).IsRequired(); + builder.Property(j => j.FileCount).IsRequired(); + builder.Property(j => j.RemoteHost).IsRequired(); + builder.Property(j => j.RemotePort).IsRequired(); + } + } +} diff --git a/src/Database/EntityFramework/InformaticsGatewayContext.cs b/src/Database/EntityFramework/InformaticsGatewayContext.cs index acd209d63..40247d42f 100644 --- a/src/Database/EntityFramework/InformaticsGatewayContext.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContext.cs @@ -40,6 +40,7 @@ public InformaticsGatewayContext(DbContextOptions<InformaticsGatewayContext> opt public virtual DbSet<InferenceRequest> InferenceRequests { get; set; } public virtual DbSet<Payload> Payloads { get; set; } public virtual DbSet<StorageMetadataWrapper> StorageMetadataWrapperEntities { get; set; } + public virtual DbSet<DicomAssociationInfo> DicomAssociationHistories { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { @@ -51,6 +52,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) modelBuilder.ApplyConfiguration(new InferenceRequestConfiguration()); modelBuilder.ApplyConfiguration(new PayloadConfiguration()); modelBuilder.ApplyConfiguration(new StorageMetadataWrapperEntityConfiguration()); + modelBuilder.ApplyConfiguration(new DicomAssociationInfoConfiguration()); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) diff --git a/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.Designer.cs b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.Designer.cs new file mode 100644 index 000000000..268457e35 --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.Designer.cs @@ -0,0 +1,279 @@ +// <auto-generated /> +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + [DbContext(typeof(InformaticsGatewayContext))] + [Migration("20221123174502_R3_0.3.5")] + partial class R3_035 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "6.0.11"); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("Port") + .HasColumnType("INTEGER"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_destination_name") + .IsUnique(); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp", "Port" }, "idx_source_all") + .IsUnique(); + + b.ToTable("DestinationApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DicomAssociationInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CalledAeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CallingAeTitle") + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeDisconnected") + .HasColumnType("TEXT"); + + b.Property<TimeSpan>("Duration") + .HasColumnType("TEXT"); + + b.Property<string>("Errors") + .HasColumnType("TEXT"); + + b.Property<int>("FileCount") + .HasColumnType("INTEGER"); + + b.Property<string>("RemoteHost") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RemotePort") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("DicomAssociationHistories"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.MonaiApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT") + .HasColumnOrder(0); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("AllowedSopClasses") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Grouping") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("IgnoredSopClasses") + .HasColumnType("TEXT"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.Property<string>("Workflows") + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_monaiae_name") + .IsUnique(); + + b.ToTable("MonaiApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequest", b => + { + b.Property<Guid>("InferenceRequestId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("InputMetadata") + .HasColumnType("TEXT"); + + b.Property<string>("InputResources") + .HasColumnType("TEXT"); + + b.Property<string>("OutputResources") + .HasColumnType("TEXT"); + + b.Property<byte>("Priority") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<int>("Status") + .HasColumnType("INTEGER"); + + b.Property<string>("TransactionId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("TryCount") + .HasColumnType("INTEGER"); + + b.HasKey("InferenceRequestId"); + + b.HasIndex(new[] { "InferenceRequestId" }, "idx_inferencerequest_inferencerequestid") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_inferencerequest_state"); + + b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") + .IsUnique(); + + b.ToTable("InferenceRequests"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") + .IsUnique() + .HasDatabaseName("idx_source_all1"); + + b.HasIndex(new[] { "Name" }, "idx_source_name") + .IsUnique(); + + b.ToTable("SourceApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Storage.Payload", b => + { + b.Property<Guid>("PayloadId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Files") + .HasColumnType("TEXT"); + + b.Property<string>("Key") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RetryCount") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.HasKey("PayloadId"); + + b.HasIndex(new[] { "CorrelationId", "PayloadId" }, "idx_payload_ids") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_payload_state"); + + b.ToTable("Payloads"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.Api.StorageMetadataWrapper", b => + { + b.Property<string>("CorrelationId") + .HasColumnType("TEXT"); + + b.Property<string>("Identity") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<bool>("IsUploaded") + .HasColumnType("INTEGER"); + + b.Property<string>("TypeName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("Value") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("CorrelationId", "Identity"); + + b.HasIndex(new[] { "CorrelationId" }, "idx_storagemetadata_correlation"); + + b.HasIndex(new[] { "CorrelationId", "Identity" }, "idx_storagemetadata_ids"); + + b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); + + b.ToTable("StorageMetadataWrapperEntities"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs new file mode 100644 index 000000000..6a9b9917d --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs @@ -0,0 +1,40 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + public partial class R3_035 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "DicomAssociationHistories", + columns: table => new + { + Id = table.Column<Guid>(type: "TEXT", nullable: false), + DateTimeDisconnected = table.Column<DateTime>(type: "TEXT", nullable: false), + CorrelationId = table.Column<string>(type: "TEXT", nullable: false), + FileCount = table.Column<int>(type: "INTEGER", nullable: false), + CallingAeTitle = table.Column<string>(type: "TEXT", nullable: true), + CalledAeTitle = table.Column<string>(type: "TEXT", nullable: false), + RemoteHost = table.Column<string>(type: "TEXT", nullable: false), + RemotePort = table.Column<int>(type: "INTEGER", nullable: false), + Errors = table.Column<string>(type: "TEXT", nullable: true), + Duration = table.Column<TimeSpan>(type: "TEXT", nullable: false), + DateTimeCreated = table.Column<DateTime>(type: "TEXT", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_DicomAssociationHistories", x => x.Id); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "DicomAssociationHistories"); + } + } +} diff --git a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs index d25aff85d..634b2a01a 100644 --- a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs +++ b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs @@ -15,7 +15,7 @@ partial class InformaticsGatewayContextModelSnapshot : ModelSnapshot protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "6.0.10"); + modelBuilder.HasAnnotation("ProductVersion", "6.0.11"); modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => { @@ -47,6 +47,50 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("DestinationApplicationEntities"); }); + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DicomAssociationInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CalledAeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CallingAeTitle") + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeDisconnected") + .HasColumnType("TEXT"); + + b.Property<TimeSpan>("Duration") + .HasColumnType("TEXT"); + + b.Property<string>("Errors") + .HasColumnType("TEXT"); + + b.Property<int>("FileCount") + .HasColumnType("INTEGER"); + + b.Property<string>("RemoteHost") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RemotePort") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("DicomAssociationHistories"); + }); + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.MonaiApplicationEntity", b => { b.Property<string>("Name") diff --git a/src/Database/EntityFramework/Repositories/DicomAssociationInfoRepository.cs b/src/Database/EntityFramework/Repositories/DicomAssociationInfoRepository.cs new file mode 100644 index 000000000..814d5f577 --- /dev/null +++ b/src/Database/EntityFramework/Repositories/DicomAssociationInfoRepository.cs @@ -0,0 +1,99 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories +{ + public class DicomAssociationInfoRepository : IDicomAssociationInfoRepository, IDisposable + { + private readonly ILogger<DicomAssociationInfoRepository> _logger; + private readonly IServiceScope _scope; + private readonly InformaticsGatewayContext _informaticsGatewayContext; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly DbSet<DicomAssociationInfo> _dataset; + private bool _disposedValue; + + public DicomAssociationInfoRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<DicomAssociationInfoRepository> logger, + IOptions<InformaticsGatewayConfiguration> options) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _informaticsGatewayContext = _scope.ServiceProvider.GetRequiredService<InformaticsGatewayContext>(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + _dataset = _informaticsGatewayContext.Set<DicomAssociationInfo>(); + } + + public async Task<DicomAssociationInfo> AddAsync(DicomAssociationInfo item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + var result = await _dataset.AddAsync(item, cancellationToken).ConfigureAwait(false); + await _informaticsGatewayContext.SaveChangesAsync(cancellationToken).ConfigureAwait(false); + return result.Entity; + }).ConfigureAwait(false); + } + + public async Task<List<DicomAssociationInfo>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _dataset.ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _informaticsGatewayContext.Dispose(); + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/Database/EntityFramework/Test/DicomAssociationInfoRepositoryTest.cs b/src/Database/EntityFramework/Test/DicomAssociationInfoRepositoryTest.cs new file mode 100644 index 000000000..81b470167 --- /dev/null +++ b/src/Database/EntityFramework/Test/DicomAssociationInfoRepositoryTest.cs @@ -0,0 +1,96 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test +{ + [Collection("SqliteDatabase")] + public class DicomAssociationInfoRepositoryTest + { + private readonly SqliteDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<DicomAssociationInfoRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public DicomAssociationInfoRepositoryTest(SqliteDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithDicomAssociationInfoEntries(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<DicomAssociationInfoRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.DatabaseContext); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenADicomAssociationInfo_WhenAddingToDatabase_ExpectItToBeSaved() + { + var association = new DicomAssociationInfo { CalledAeTitle = "called", CallingAeTitle = "calling", CorrelationId = Guid.NewGuid().ToString(), DateTimeCreated = DateTime.UtcNow, RemoteHost = "host", RemotePort = 100 }; + association.FileReceived(); + association.FileReceived(); + association.FileReceived(); + association.Disconnect(); + + var store = new DicomAssociationInfoRepository(_serviceScopeFactory.Object, _logger.Object, _options); + await store.AddAsync(association).ConfigureAwait(false); + var actual = await _databaseFixture.DatabaseContext.Set<DicomAssociationInfo>().FirstOrDefaultAsync(p => p.Id.Equals(association.Id)).ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(association.DateTimeCreated, actual!.DateTimeCreated); + Assert.Equal(association.DateTimeDisconnected, actual!.DateTimeDisconnected); + Assert.Equal(association.FileCount, actual!.FileCount); + Assert.Equal(association.Duration, actual!.Duration); + Assert.Equal(association.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(association.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(association.CorrelationId, actual!.CorrelationId); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new DicomAssociationInfoRepository(_serviceScopeFactory.Object, _logger.Object, _options); + + var expected = await _databaseFixture.DatabaseContext.Set<DicomAssociationInfo>().ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + Assert.Equal(expected, actual); + } + } +} diff --git a/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs index ba7d1fa50..76b4c61f5 100644 --- a/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs +++ b/src/Database/EntityFramework/Test/SqliteDatabaseFixture.cs @@ -16,7 +16,6 @@ using Microsoft.EntityFrameworkCore; using Monai.Deploy.InformaticsGateway.Api; -using Monai.Deploy.InformaticsGateway.Api.Storage; namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test { @@ -98,6 +97,25 @@ public void InitDatabaseWithSourceApplicationEntities() DatabaseContext.SaveChanges(); } + internal void InitDatabaseWithDicomAssociationInfoEntries() + { + var da1 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da2 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da3 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da4 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da5 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + + var set = DatabaseContext.Set<DicomAssociationInfo>(); + set.RemoveRange(set.ToList()); + set.Add(da1); + set.Add(da2); + set.Add(da3); + set.Add(da4); + set.Add(da5); + + DatabaseContext.SaveChanges(); + } + public void Clear<T>() where T : class { var set = DatabaseContext.Set<T>(); diff --git a/src/Database/MongoDB/Configurations/DicomAssociationInfoConfiguration.cs b/src/Database/MongoDB/Configurations/DicomAssociationInfoConfiguration.cs new file mode 100644 index 000000000..b5e63d71d --- /dev/null +++ b/src/Database/MongoDB/Configurations/DicomAssociationInfoConfiguration.cs @@ -0,0 +1,34 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2021 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Monai.Deploy.InformaticsGateway.Api; +using MongoDB.Bson.Serialization; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations +{ + internal static class DicomAssociationInfoConfiguration + { + public static void Configure() + { + BsonClassMap.RegisterClassMap<DicomAssociationInfo>(j => + { + j.AutoMap(); + j.SetIgnoreExtraElements(true); + }); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/DicomAssociationInfoRepositoryTest.cs b/src/Database/MongoDB/Integration.Test/DicomAssociationInfoRepositoryTest.cs new file mode 100644 index 000000000..d52b1c161 --- /dev/null +++ b/src/Database/MongoDB/Integration.Test/DicomAssociationInfoRepositoryTest.cs @@ -0,0 +1,103 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using FluentAssertions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories; +using MongoDB.Driver; +using Moq; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test +{ + [Collection("MongoDatabase")] + public class DicomAssociationInfoRepositoryTest + { + private readonly MongoDatabaseFixture _databaseFixture; + + private readonly Mock<IServiceScopeFactory> _serviceScopeFactory; + private readonly Mock<ILogger<DicomAssociationInfoRepository>> _logger; + private readonly IOptions<InformaticsGatewayConfiguration> _options; + + private readonly Mock<IServiceScope> _serviceScope; + private readonly IServiceProvider _serviceProvider; + + public DicomAssociationInfoRepositoryTest(MongoDatabaseFixture databaseFixture) + { + _databaseFixture = databaseFixture ?? throw new ArgumentNullException(nameof(databaseFixture)); + _databaseFixture.InitDatabaseWithDicomAssociationInfoEntries(); + + _serviceScopeFactory = new Mock<IServiceScopeFactory>(); + _logger = new Mock<ILogger<DicomAssociationInfoRepository>>(); + _options = Options.Create(new InformaticsGatewayConfiguration()); + + _serviceScope = new Mock<IServiceScope>(); + var services = new ServiceCollection(); + services.AddScoped(p => _logger.Object); + services.AddScoped(p => databaseFixture.Client); + + _serviceProvider = services.BuildServiceProvider(); + _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); + _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); + + _options.Value.Database.Retries.DelaysMilliseconds = new[] { 1, 1, 1 }; + _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + } + + [Fact] + public async Task GivenADicomAssociationInfo_WhenAddingToDatabase_ExpectItToBeSaved() + { + var association = new DicomAssociationInfo { CalledAeTitle = "called", CallingAeTitle = "calling", CorrelationId = Guid.NewGuid().ToString(), DateTimeCreated = DateTime.UtcNow, RemoteHost = "host", RemotePort = 100 }; + association.FileReceived(); + association.FileReceived(); + association.FileReceived(); + association.Disconnect(); + + var store = new DicomAssociationInfoRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + await store.AddAsync(association).ConfigureAwait(false); + + var collection = _databaseFixture.Database.GetCollection<DicomAssociationInfo>(nameof(DicomAssociationInfo)); + var actual = await collection.Find(p => p.Id == association.Id).FirstOrDefaultAsync().ConfigureAwait(false); + + Assert.NotNull(actual); + Assert.Equal(association.FileCount, actual!.FileCount); + Assert.Equal(association.Duration, actual!.Duration); + Assert.Equal(association.CalledAeTitle, actual!.CalledAeTitle); + Assert.Equal(association.CallingAeTitle, actual!.CallingAeTitle); + Assert.Equal(association.CorrelationId, actual!.CorrelationId); + + actual!.DateTimeCreated.Should().BeCloseTo(association.DateTimeCreated, TimeSpan.FromMilliseconds(500)); + actual!.DateTimeDisconnected.Should().BeCloseTo(association.DateTimeDisconnected, TimeSpan.FromMilliseconds(500)); + } + + [Fact] + public async Task GivenDestinationApplicationEntitiesInTheDatabase_WhenToListIsCalled_ExpectAllEntitiesToBeReturned() + { + var store = new DicomAssociationInfoRepository(_serviceScopeFactory.Object, _logger.Object, _options, _databaseFixture.Options); + + var collection = _databaseFixture.Database.GetCollection<DicomAssociationInfo>(nameof(DicomAssociationInfo)); + var expected = await collection.Find(Builders<DicomAssociationInfo>.Filter.Empty).ToListAsync().ConfigureAwait(false); + var actual = await store.ToListAsync().ConfigureAwait(false); + + actual.Should().BeEquivalentTo(expected, options => options.Excluding(p => p.DateTimeCreated)); + } + } +} diff --git a/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs b/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs index 81ae1d761..8dbc0d33a 100644 --- a/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs +++ b/src/Database/MongoDB/Integration.Test/MongoDatabaseFixture.cs @@ -33,7 +33,6 @@ public class MongoDatabaseCollection : ICollectionFixture<MongoDatabaseFixture> public class MongoDatabaseFixture { - public IMongoClient Client { get; set; } public IMongoDatabase Database { get; set; } public IOptions<MongoDBOptions> Options { get; set; } @@ -58,7 +57,6 @@ public void InitDatabaseWithDestinationApplicationEntities() var aet4 = new DestinationApplicationEntity { AeTitle = "AET4", HostIp = "1.2.3.4", Port = 114, Name = "AET4", DateTimeCreated = DateTime.UtcNow }; var aet5 = new DestinationApplicationEntity { AeTitle = "AET5", HostIp = "1.2.3.4", Port = 114, Name = "AET5", DateTimeCreated = DateTime.UtcNow }; - collection.DeleteMany("{ }"); collection.InsertOne(aet1); collection.InsertOne(aet2); collection.InsertOne(aet3); @@ -76,7 +74,6 @@ public void InitDatabaseWithMonaiApplicationEntities() var aet4 = new MonaiApplicationEntity { AeTitle = "AET4", Name = "AET4", DateTimeCreated = DateTime.UtcNow }; var aet5 = new MonaiApplicationEntity { AeTitle = "AET5", Name = "AET5", DateTimeCreated = DateTime.UtcNow }; - collection.DeleteMany("{ }"); collection.InsertOne(aet1); collection.InsertOne(aet2); collection.InsertOne(aet3); @@ -94,7 +91,6 @@ public void InitDatabaseWithSourceApplicationEntities() var aet4 = new SourceApplicationEntity { AeTitle = "AET4", Name = "AET4", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; var aet5 = new SourceApplicationEntity { AeTitle = "AET5", Name = "AET5", HostIp = "1.2.3.4", DateTimeCreated = DateTime.UtcNow }; - collection.DeleteMany("{ }"); collection.InsertOne(aet1); collection.InsertOne(aet2); collection.InsertOne(aet3); @@ -102,16 +98,33 @@ public void InitDatabaseWithSourceApplicationEntities() collection.InsertOne(aet5); } - public void InitDatabaseWithInferenceRequests() { var collection = Database.GetCollection<InferenceRequest>(nameof(InferenceRequest)); Clear(collection); } + internal void InitDatabaseWithDicomAssociationInfoEntries() + { + var collection = Database.GetCollection<DicomAssociationInfo>(nameof(DicomAssociationInfo)); + Clear(collection); + + var da1 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da2 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da3 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da4 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + var da5 = new DicomAssociationInfo { CalledAeTitle = Guid.NewGuid().ToString(), CallingAeTitle = Guid.NewGuid().ToString(), CorrelationId = Guid.NewGuid().ToString(), RemoteHost = "host", RemotePort = 123 }; + + collection.InsertOne(da1); + collection.InsertOne(da2); + collection.InsertOne(da3); + collection.InsertOne(da4); + collection.InsertOne(da5); + } + public static void Clear<T>(IMongoCollection<T> collection) where T : class { - var result = collection.DeleteMany(Builders<T>.Filter.Empty); + collection.DeleteMany(Builders<T>.Filter.Empty); } } } diff --git a/src/Database/MongoDB/MongoDatabaseMigrationManager.cs b/src/Database/MongoDB/MongoDatabaseMigrationManager.cs index f373d3e80..543540068 100644 --- a/src/Database/MongoDB/MongoDatabaseMigrationManager.cs +++ b/src/Database/MongoDB/MongoDatabaseMigrationManager.cs @@ -31,6 +31,7 @@ public IHost Migrate(IHost host) InferenceRequestConfiguration.Configure(); PayloadConfiguration.Configure(); StorageMetadataWrapperEntityConfiguration.Configure(); + DicomAssociationInfoConfiguration.Configure(); return host; } } diff --git a/src/Database/MongoDB/Repositories/DicomAssociationInfoRepository.cs b/src/Database/MongoDB/Repositories/DicomAssociationInfoRepository.cs new file mode 100644 index 000000000..3ce0b7061 --- /dev/null +++ b/src/Database/MongoDB/Repositories/DicomAssociationInfoRepository.cs @@ -0,0 +1,101 @@ +/* + * Copyright 2022 MONAI Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using Ardalis.GuardClauses; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using Monai.Deploy.InformaticsGateway.Api; +using Monai.Deploy.InformaticsGateway.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api.Logging; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; +using Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations; +using MongoDB.Driver; +using Polly; +using Polly.Retry; + +namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Repositories +{ + public class DicomAssociationInfoRepository : IDicomAssociationInfoRepository, IDisposable + { + private readonly ILogger<DicomAssociationInfoRepository> _logger; + private readonly IServiceScope _scope; + private readonly AsyncRetryPolicy _retryPolicy; + private readonly IMongoCollection<DicomAssociationInfo> _collection; + private bool _disposedValue; + + public DicomAssociationInfoRepository( + IServiceScopeFactory serviceScopeFactory, + ILogger<DicomAssociationInfoRepository> logger, + IOptions<InformaticsGatewayConfiguration> options, + IOptions<MongoDBOptions> mongoDbOptions) + { + Guard.Against.Null(serviceScopeFactory); + Guard.Against.Null(options); + Guard.Against.Null(mongoDbOptions); + + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + + _scope = serviceScopeFactory.CreateScope(); + _retryPolicy = Policy.Handle<Exception>().WaitAndRetryAsync( + options.Value.Database.Retries.RetryDelays, + (exception, timespan, count, context) => _logger.DatabaseErrorRetry(timespan, count, exception)); + + var mongoDbClient = _scope.ServiceProvider.GetRequiredService<IMongoClient>(); + var mongoDatabase = mongoDbClient.GetDatabase(mongoDbOptions.Value.DaatabaseName); + _collection = mongoDatabase.GetCollection<DicomAssociationInfo>(nameof(DicomAssociationInfo)); + } + + public async Task<DicomAssociationInfo> AddAsync(DicomAssociationInfo item, CancellationToken cancellationToken = default) + { + Guard.Against.Null(item); + + return await _retryPolicy.ExecuteAsync(async () => + { + await _collection.InsertOneAsync(item, cancellationToken: cancellationToken).ConfigureAwait(false); + return item; + }).ConfigureAwait(false); + } + + public async Task<List<DicomAssociationInfo>> ToListAsync(CancellationToken cancellationToken = default) + { + return await _retryPolicy.ExecuteAsync(async () => + { + return await _collection.Find(Builders<DicomAssociationInfo>.Filter.Empty).ToListAsync(cancellationToken).ConfigureAwait(false); + }).ConfigureAwait(false); + } + + protected virtual void Dispose(bool disposing) + { + if (!_disposedValue) + { + if (disposing) + { + _scope.Dispose(); + } + + _disposedValue = true; + } + } + + public void Dispose() + { + // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + } +} diff --git a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs index 4e5aee79b..fd183f978 100644 --- a/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs +++ b/src/InformaticsGateway/Logging/Log.100.200.ScpService.cs @@ -97,5 +97,8 @@ public static partial class Log [LoggerMessage(EventId = 212, Level = LogLevel.Error, Message = "Failed to process C-STORE request, out of storage space.")] public static partial void CStoreFailedDueToLowStorageSpace(this ILogger logger, Exception ex); + + [LoggerMessage(EventId = 213, Level = LogLevel.Error, Message = "Error saving DICOM association information. Correlation ID={correlationId}.")] + public static partial void ErrorSavingDicomAssociationInfo(this ILogger logger, Guid correlationId, Exception ex); } } diff --git a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs index 841b87c94..682ba86f5 100644 --- a/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs +++ b/src/InformaticsGateway/Services/Scp/ScpServiceInternal.cs @@ -24,6 +24,7 @@ using FellowOakDicom.Network; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Common; +using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; using Monai.Deploy.InformaticsGateway.Logging; namespace Monai.Deploy.InformaticsGateway.Services.Scp @@ -37,6 +38,7 @@ internal class ScpServiceInternal : IDicomCEchoProvider, IDicomCStoreProvider { + private readonly DicomAssociationInfo _associationInfo; private Microsoft.Extensions.Logging.ILogger _logger; private IApplicationEntityManager _associationDataProvider; private IDisposable _loggerScope; @@ -46,6 +48,7 @@ internal class ScpServiceInternal : public ScpServiceInternal(INetworkStream stream, Encoding fallbackEncoding, FellowOakDicom.Log.ILogger log, DicomServiceDependencies dicomServiceDependencies) : base(stream, fallbackEncoding, log, dicomServiceDependencies) { + _associationInfo = new DicomAssociationInfo(); } public Task<DicomCEchoResponse> OnCEchoRequestAsync(DicomCEchoRequest request) @@ -63,6 +66,17 @@ public void OnConnectionClosed(Exception exception) _loggerScope?.Dispose(); Interlocked.Decrement(ref ScpService.ActiveConnections); + + try + { + var repo = _associationDataProvider.GetService<IDicomAssociationInfoRepository>(); + _associationInfo.Disconnect(); + repo?.AddAsync(_associationInfo).Wait(); + } + catch (Exception ex) + { + _logger?.ErrorSavingDicomAssociationInfo(_associationId, ex); + } } public async Task<DicomCStoreResponse> OnCStoreRequestAsync(DicomCStoreRequest request) @@ -71,21 +85,25 @@ public async Task<DicomCStoreResponse> OnCStoreRequestAsync(DicomCStoreRequest r { _logger?.TransferSyntaxUsed(request.TransferSyntax); await _associationDataProvider.HandleCStoreRequest(request, Association.CalledAE, Association.CallingAE, _associationId).ConfigureAwait(false); + _associationInfo.FileReceived(); return new DicomCStoreResponse(request, DicomStatus.Success); } catch (InsufficientStorageAvailableException ex) { _logger?.CStoreFailedDueToLowStorageSpace(ex); + _associationInfo.Errors = $"Failed to store file due to low disk space: {ex}"; return new DicomCStoreResponse(request, DicomStatus.ResourceLimitation); } catch (System.IO.IOException ex) when ((ex.HResult & 0xFFFF) == Constants.ERROR_HANDLE_DISK_FULL || (ex.HResult & 0xFFFF) == Constants.ERROR_DISK_FULL) { _logger?.CStoreFailedWithNoSpace(ex); + _associationInfo.Errors = $"Failed to store file due to low disk space: {ex}"; return new DicomCStoreResponse(request, DicomStatus.StorageStorageOutOfResources); } catch (Exception ex) { _logger?.CStoreFailed(ex); + _associationInfo.Errors = $"Failed to store file: {ex}"; return new DicomCStoreResponse(request, DicomStatus.ProcessingFailure); } } @@ -93,12 +111,14 @@ public async Task<DicomCStoreResponse> OnCStoreRequestAsync(DicomCStoreRequest r public Task OnCStoreRequestExceptionAsync(string tempFileName, Exception e) { _logger?.CStoreFailed(e); + _associationInfo.Errors = $"Failed to store file: {e}"; return Task.CompletedTask; } public void OnReceiveAbort(DicomAbortSource source, DicomAbortReason reason) { _logger?.CStoreAbort(source, reason); + _associationInfo.Errors = $"{source} - {reason}"; } /// <summary> @@ -136,8 +156,16 @@ public async Task OnReceiveAssociationRequestAsync(DicomAssociation association) _loggerScope = _logger?.BeginScope(new LoggingDataDictionary<string, object> { { "Association", associationIdStr } }); _logger?.CStoreAssociationReceived(association.RemoteHost, association.RemotePort); + _associationInfo.CallingAeTitle = association.CallingAE; + _associationInfo.CalledAeTitle = association.CalledAE; + _associationInfo.RemoteHost = association.RemoteHost; + _associationInfo.RemotePort = association.RemotePort; + _associationInfo.CorrelationId = _associationId.ToString(); + if (!await IsValidSourceAeAsync(association.CallingAE, association.RemoteHost).ConfigureAwait(false)) { + _associationInfo.Errors = "Invalid source"; + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, @@ -146,6 +174,8 @@ await SendAssociationRejectAsync( if (!await IsValidCalledAeAsync(association.CalledAE).ConfigureAwait(false)) { + _associationInfo.Errors = "Invalid MONAI AE Title"; + await SendAssociationRejectAsync( DicomRejectResult.Permanent, DicomRejectSource.ServiceUser, @@ -193,7 +223,7 @@ private async Task<bool> IsValidSourceAeAsync(string callingAe, string host) { if (!_associationDataProvider.Configuration.Value.Dicom.Scp.RejectUnknownSources) return true; - return await _associationDataProvider.IsValidSourceAsync(callingAe, host); + return await _associationDataProvider.IsValidSourceAsync(callingAe, host).ConfigureAwait(false); } } } diff --git a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs index 77924612e..63bbb01bc 100644 --- a/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs +++ b/src/InformaticsGateway/Test/Shared/DicomScpFixture.cs @@ -121,7 +121,7 @@ public void OnReceiveAbort(DicomAbortSource source, DicomAbortReason reason) // ignore } - public void OnConnectionClosed(Exception exception) + public void OnConnectionClosedAsync(Exception exception) { // ignore } @@ -141,5 +141,8 @@ public Task<DicomCEchoResponse> OnCEchoRequestAsync(DicomCEchoRequest request) { return Task.FromResult(new DicomCEchoResponse(request, DicomStatus.Success)); } + + public void OnConnectionClosed(Exception exception) + { } } } diff --git a/tests/Integration.Test/Common/DicomScp.cs b/tests/Integration.Test/Common/DicomScp.cs index edee5747e..6858ca122 100644 --- a/tests/Integration.Test/Common/DicomScp.cs +++ b/tests/Integration.Test/Common/DicomScp.cs @@ -74,7 +74,7 @@ public CStoreScp(INetworkStream stream, Encoding fallbackEncoding, ILogger log, { } - public void OnConnectionClosed(Exception exception) + public void OnConnectionClosedAsync(Exception exception) { if (exception is not null) { @@ -139,5 +139,7 @@ public Task OnReceiveAssociationRequestAsync(DicomAssociation association) return SendAssociationAcceptAsync(association); } + + public void OnConnectionClosed(Exception exception) { } } } From 42f06c6d3c1a0854ed12a10808ccc1e84b4f9e8f Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 6 Dec 2022 08:52:41 -0800 Subject: [PATCH 094/101] Integrate MONAI Deploy Security to enable API auth (#276) * gh-47 Enable API authentication using Monai.Deploy.Security Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 113 +- docs/compliance/third-party-licenses.md | 3880 ++++++++++------- ...Monai.Deploy.InformaticsGateway.Api.csproj | 4 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- src/Api/Test/packages.lock.json | 93 +- src/Api/packages.lock.json | 88 +- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 4 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 4 +- src/CLI/Test/packages.lock.json | 95 +- src/CLI/packages.lock.json | 104 +- src/Client/Test/packages.lock.json | 204 +- src/Client/packages.lock.json | 98 +- ...ai.Deploy.InformaticsGateway.Common.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 7 +- src/Common/Test/packages.lock.json | 42 +- src/Common/packages.lock.json | 12 +- ...oy.InformaticsGateway.Configuration.csproj | 8 +- .../Test/ConfigurationValidatorTest.cs | 27 +- ...formaticsGateway.Configuration.Test.csproj | 4 +- src/Configuration/Test/packages.lock.json | 95 +- src/Configuration/packages.lock.json | 92 +- src/Database/Api/Test/packages.lock.json | 84 +- src/Database/Api/packages.lock.json | 104 +- .../EntityFramework/Test/packages.lock.json | 84 +- .../EntityFramework/packages.lock.json | 112 +- .../Integration.Test/packages.lock.json | 118 +- src/Database/MongoDB/packages.lock.json | 112 +- src/Database/packages.lock.json | 134 +- src/DicomWebClient/CLI/packages.lock.json | 18 +- src/DicomWebClient/packages.lock.json | 4 +- .../Common/FileStorageMetadataExtensions.cs | 8 +- .../Monai.Deploy.InformaticsGateway.csproj | 14 +- src/InformaticsGateway/Program.cs | 14 +- .../Connectors/PayloadMoveActionHandler.cs | 4 +- .../Services/Http/Startup.cs | 15 +- .../Services/Storage/ObjectUploadService.cs | 5 +- .../DicomFileStorageMetadataExtensionsTest.cs | 11 +- .../Test/DummyStorageService.cs | 5 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 4 +- .../PayloadMoveActionHandlerTest.cs | 3 +- .../Services/HealthLevel7/MllpServiceTest.cs | 11 +- .../Test/Services/Http/StartupTest.cs | 6 + .../Scp/ApplicationEntityHandlerTest.cs | 11 +- .../Storage/ObjectUploadServiceTest.cs | 5 +- src/InformaticsGateway/Test/appsettings.json | 5 +- .../Test/packages.lock.json | 345 +- .../appsettings.Development.json | 3 + src/InformaticsGateway/appsettings.json | 30 + src/InformaticsGateway/packages.lock.json | 292 +- ...InformaticsGateway.Integration.Test.csproj | 4 +- tests/Integration.Test/appsettings.json | 3 + tests/Integration.Test/packages.lock.json | 208 +- 52 files changed, 4040 insertions(+), 2714 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index ee25cb77c..298ecb4cc 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -4,7 +4,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.100.6 + - 3.7.100.25 :when: 2022-09-01 23:05:22.203089302 Z - - :approve - AWSSDK.S3 @@ -18,7 +18,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/aws/aws-sdk-net/raw/master/License.txt) :versions: - - 3.7.100.6 + - 3.7.100.25 :when: 2022-09-01 23:05:28.920368903 Z - - :approve - BoDi @@ -787,36 +787,43 @@ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.16 + - 0.1.18 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.16 + - 0.1.18 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.10 + - 0.2.11 :when: 2022-08-16 23:06:21.988183476 Z - - :approve - Monai.Deploy.Storage.MinIO - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.10 + - 0.2.11 :when: 2022-08-16 23:06:22.426838304 Z - - :approve - Monai.Deploy.Storage.S3Policy - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.10 + - 0.2.11 :when: 2022-08-16 23:06:22.881956546 Z +- - :approve + - Monai.Deploy.Security + - :who: mocsharp + :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) + :versions: + - 0.1.1 + :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Moq - :who: mocsharp @@ -851,21 +858,9 @@ :why: MIT (https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) :versions: - 10.0.1 - :when: 2022-08-16 23:06:25.648852748 Z -- - :approve - - Newtonsoft.Json - - :who: mocsharp - :why: MIT (https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) - :versions: - 13.0.1 + - 13.0.2 :when: 2022-08-16 23:06:26.098713272 Z -- - :approve - - Newtonsoft.Json - - :who: mocsharp - :why: MIT (https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) - :versions: - - 9.0.1 - :when: 2022-08-16 23:06:26.545584451 Z - - :approve - Newtonsoft.Json.Bson - :who: mocsharp @@ -1225,18 +1220,32 @@ - 4.3.0 :when: 2022-08-16 23:06:49.709349587 Z - - :approve - - System.IO.Abstractions + - TestableIO.System.IO.Abstractions - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.2.3 + - 18.0.1 + :when: 2022-08-16 23:06:50.602318269 Z +- - :approve + - TestableIO.System.IO.Abstractions.Extensions + - :who: mocsharp + :why: MIT (https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) + :versions: + - 1.0.34 :when: 2022-08-16 23:06:50.602318269 Z - - :approve - - System.IO.Abstractions.TestingHelpers + - TestableIO.System.IO.Abstractions.TestingHelpers + - :who: mocsharp + :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + :versions: + - 18.0.1 + :when: 2022-08-16 23:06:51.524564913 Z +- - :approve + - TestableIO.System.IO.Abstractions.Wrappers - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 17.2.3 + - 18.0.1 :when: 2022-08-16 23:06:51.524564913 Z - - :approve - System.IO.Compression @@ -1552,6 +1561,7 @@ :why: MICROSOFT .NET LIBRARY License ( http://go.microsoft.com/fwlink/?LinkId=329770) :versions: - 4.3.0 + - 4.5.0 :when: 2022-08-16 23:07:12.460027529 Z - - :approve - System.Security.Cryptography.Csp @@ -2344,21 +2354,21 @@ - :who: mocsharp :why: BSD 3-Clause License (https://github.com/NLog/NLog/raw/dev/LICENSE.txt) :versions: - - 5.0.5 + - 5.1.0 :when: 2022-10-12 03:14:06.538744982 Z - - :approve - NLog.Extensions.Logging - :who: mocsharp :why: BSD 2-Clause Simplified License (https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) :versions: - - 5.1.0 + - 5.2.0 :when: 2022-10-12 03:14:06.964203977 Z - - :approve - NLog.Web.AspNetCore - :who: mocsharp :why: BSD 3-Clause License (https://github.com/NLog/NLog.Web/raw/master/LICENSE) :versions: - - 5.1.5 + - 5.2.0 :when: 2022-10-12 03:14:07.396706995 Z - - :approve - fo-dicom.NLog @@ -2437,3 +2447,52 @@ :versions: - 0.30.1 :when: 2022-11-16 23:38:55.532789254 Z +- - :approve + - Microsoft.AspNetCore.Authentication.JwtBearer + - :who: mocsharp + :why: MIT (https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + :versions: + - 6.0.11 + :when: 2022-10-14 23:36:49.751931025 Z +- - :approve + - Microsoft.IdentityModel.JsonWebTokens + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:14.398733049 Z +- - :approve + - Microsoft.IdentityModel.Logging + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:15.196566449 Z +- - :approve + - Microsoft.IdentityModel.Protocols + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:16.007362554 Z +- - :approve + - Microsoft.IdentityModel.Protocols.OpenIdConnect + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:16.403183970 Z +- - :approve + - Microsoft.IdentityModel.Tokens + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:16.793759607 Z +- - :approve + - System.IdentityModel.Tokens.Jwt + - :who: mocsharp + :why: MIT (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + :versions: + - 6.10.0 + :when: 2022-10-14 23:37:56.206982078 Z diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index ebde3cb46..d997f1858 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -60,15 +60,15 @@ SOFTWARE. <details> -<summary>AWSSDK.Core 3.7.100.6</summary> +<summary>AWSSDK.Core 3.7.100.25</summary> ## AWSSDK.Core -- Version: 3.7.100.6 +- Version: 3.7.100.25 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.100.6) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.Core/3.7.100.25) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -107,11 +107,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -180,11 +180,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -206,15 +206,15 @@ END OF TERMS AND CONDITIONS <details> -<summary>AWSSDK.SecurityToken 3.7.100.6</summary> +<summary>AWSSDK.SecurityToken 3.7.100.25</summary> ## AWSSDK.SecurityToken -- Version: 3.7.100.6 +- Version: 3.7.100.25 - Authors: Amazon Web Services - Owners: Amazon Web Services - Project URL: https://github.com/aws/aws-sdk-net/ -- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.100.6) +- Source: [NuGet](https://www.nuget.org/packages/AWSSDK.SecurityToken/3.7.100.25) - License: [Apache-2.0](https://github.com/aws/aws-sdk-net/raw/master/License.txt) @@ -253,11 +253,11 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and +You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and +You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. @@ -1568,7 +1568,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -1585,7 +1585,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -1654,7 +1654,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -1717,7 +1717,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -1992,6 +1992,47 @@ specific language governing permissions and limitations under the License. </details> +<details> +<summary>Microsoft.AspNetCore.Authentication.JwtBearer 6.0.11</summary> + +## Microsoft.AspNetCore.Authentication.JwtBearer + +- Version: 6.0.11 +- Authors: Microsoft +- Project URL: https://asp.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBearer/6.0.11) +- License: [MIT](https://github.com/dotnet/aspnetcore/raw/main/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>Microsoft.AspNetCore.Authorization 2.2.0</summary> @@ -2665,7 +2706,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -2682,7 +2723,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -2751,7 +2792,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -2814,7 +2855,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -2865,7 +2906,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -2882,7 +2923,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -2951,7 +2992,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -3014,7 +3055,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -5373,20 +5414,21 @@ SOFTWARE. <details> -<summary>Microsoft.NET.Test.Sdk 17.4.0</summary> +<summary>Microsoft.IdentityModel.JsonWebTokens 6.10.0</summary> -## Microsoft.NET.Test.Sdk +## Microsoft.IdentityModel.JsonWebTokens -- Version: 17.4.0 +- Version: 6.10.0 - Authors: Microsoft -- Owners: Microsoft -- Project URL: https://github.com/microsoft/vstest/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.4.0) -- License: [MIT](https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.IdentityModel.JsonWebTokens/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) ``` -Copyright (c) 2020 Microsoft Corporation +The MIT License (MIT) + +Copyright (c) Microsoft Corporation Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5411,224 +5453,418 @@ SOFTWARE. <details> -<summary>Microsoft.NETCore.Platforms 1.1.0</summary> +<summary>Microsoft.IdentityModel.Logging 6.10.0</summary> -## Microsoft.NETCore.Platforms +## Microsoft.IdentityModel.Logging -- Version: 1.1.0 +- Version: 6.10.0 - Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/1.1.0) -- License: [MICROSOFT .NET LIBRARY License](http://go.microsoft.com/fwlink/?LinkId=329770) +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.IdentityModel.Logging/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) ``` -MICROSOFT SOFTWARE LICENSE -TERMS - -MICROSOFT .NET -LIBRARY +The MIT License (MIT) -These -license terms are an agreement between you and Microsoft Corporation (or based -on where you live, one of its affiliates). They apply to the software named -above. The terms also apply to any Microsoft services or updates for the -software, except to the extent those have different terms. +Copyright (c) Microsoft Corporation -If -you comply with these license terms, you have the rights below. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -1.    INSTALLATION AND USE RIGHTS. -You may -install and use any number of copies of the software to develop and test your applications.  +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -2.    -THIRD PARTY COMPONENTS. The software may include third party components with -separate legal notices or governed by other agreements, as may be described in -the ThirdPartyNotices file(s) accompanying the software. -3.    -ADDITIONAL LICENSING -REQUIREMENTS AND/OR USE RIGHTS. -a.     -DISTRIBUTABLE -CODE.  The software is -comprised of Distributable Code. �Distributable Code� is code that you are -permitted to distribute in applications you develop if you comply with the -terms below. -i.      Right to Use and Distribute. -�        -You may copy and distribute the object code form of the software. -�        -Third Party Distribution. You may permit distributors of your applications -to copy and distribute the Distributable Code as part of those applications. -ii.     Distribution Requirements. For any -Distributable Code you distribute, you must -�        -use the Distributable Code in your applications and not as a -standalone distribution; -�        -require distributors and external end users to agree to terms that -protect it at least as much as this agreement; and -�        -indemnify, defend, and hold harmless Microsoft from any claims, -including attorneys� fees, related to the distribution or use of your applications, -except to the extent that any claim is based solely on the unmodified Distributable -Code. -iii.   Distribution Restrictions. You may not -�        -use Microsoft�s trademarks in your applications� names or in a way -that suggests your applications come from or are endorsed by Microsoft; or -�        -modify or distribute the source code of any Distributable Code so -that any part of it becomes subject to an Excluded License. An �Excluded -License� is one that requires, as a condition of use, modification or -distribution of code, that (i) it be disclosed or distributed in source code -form; or (ii) others have the right to modify it. -4.    -DATA. -a.     -Data Collection. The software may collect -information about you and your use of the software, and send that to Microsoft. -Microsoft may use this information to provide services and improve our products -and services.� You may opt-out of many of these scenarios, but not all, as -described in the software documentation.� There are also some features in the software that may enable you and -Microsoft to collect data from users of your applications. If you use -these features, you must comply with applicable law, including providing -appropriate notices to users of your applications together with Microsoft�s -privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data -collection and its use from the software documentation and our privacy -statement. Your use of the software operates as your consent to these -practices. -b.    -Processing of Personal Data. To the extent Microsoft is a -processor or subprocessor of personal data in connection with the software, -Microsoft makes the commitments in the European Union General Data Protection -Regulation Terms of the Online Services Terms to all customers effective May -25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. -5.    -Scope of -License. The software is licensed, not sold. This agreement -only gives you some rights to use the software. Microsoft reserves all other -rights. Unless applicable law gives you more rights despite this limitation, -you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that -only allow you to use it in certain ways. You may not -�        -work around any technical -limitations in the software; -�        -reverse engineer, decompile or -disassemble the software, or otherwise attempt to derive the source code for -the software, except and to the extent required by third party licensing terms -governing use of certain open source components that may be included in the -software; -�        -remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; -�        -use the software in any way that -is against the law; or -�        -share, publish, rent or lease the -software, provide the software as a stand-alone offering for others to use, or -transfer the software or this agreement to any third party. -6.    -Export -Restrictions. You must comply with all domestic and international -export laws and regulations that apply to the software, which include -restrictions on destinations, end users, and end use. For further information -on export restrictions, visit www.microsoft.com/exporting. � -7.    -SUPPORT -SERVICES. Because this software is �as is,� we may not provide -support services for it. -8.    -Entire -Agreement. This -agreement, and the terms for supplements, updates, Internet-based services and -support services that you use, are the entire agreement for the software and -support services. -9.    Applicable Law.� If you acquired the software in the United States, Washington law -applies to interpretation of and claims for breach of this agreement, and the -laws of the state where you live apply to all other claims. If you acquired the -software in any other country, its laws apply. -10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You -may have other rights, including consumer rights, under the laws of your state -or country. Separate and apart from your relationship with Microsoft, you may -also have rights with respect to the party from which you acquired the -software. This agreement does not change those other rights if the laws of your -state or country do not permit it to do so. For example, if you acquired the -software in one of the below regions, or mandatory country law applies, then -the following provisions apply to you: -a)    Australia. You have statutory guarantees under the Australian Consumer -Law and nothing in this agreement is intended to affect those rights. -b)    Canada. If you acquired this software in Canada, you may stop -receiving updates by turning off the automatic update feature, disconnecting -your device from the Internet (if and when you re-connect to the Internet, -however, the software will resume checking for and installing updates), or uninstalling -the software. The product documentation, if any, may also specify how to turn -off updates for your specific device or software. -c)    Germany and Austria. -(i)������� Warranty. The software will perform -substantially as described in any Microsoft materials that accompany it. -However, Microsoft gives no contractual guarantee in relation to the software. -(ii)������ Limitation of Liability. In case of -intentional conduct, gross negligence, claims based on the Product Liability -Act, as well as in case of death or personal or physical injury, Microsoft is -liable according to the statutory law. -Subject to the foregoing clause (ii), Microsoft will only -be liable for slight negligence if Microsoft is in breach of such material -contractual obligations, the fulfillment of which facilitate the due -performance of this agreement, the breach of which would endanger the purpose -of this agreement and the compliance with which a party may constantly trust in -(so-called "cardinal obligations"). In other cases of slight negligence, -Microsoft will not be liable for slight negligence -11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK -OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. -TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. -12. -Limitation -on and Exclusion of Remedies and Damages. YOU -CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. -$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST -PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. -This limitation applies to (a) -anything related to the software, services, content (including code) on third -party Internet sites, or third party applications; and (b) claims for breach of -contract, breach of warranty, guarantee or condition, strict liability, -negligence, or other tort to the extent permitted by applicable law. -It -also applies even if Microsoft knew or should have known about the possibility -of the damages. The above limitation or exclusion may not apply to you because -your state or country may not allow the exclusion or limitation of incidental, -consequential or other damages. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. ``` </details> <details> -<summary>Microsoft.NETCore.Platforms 3.0.0</summary> +<summary>Microsoft.IdentityModel.Protocols 6.10.0</summary> -## Microsoft.NETCore.Platforms +## Microsoft.IdentityModel.Protocols -- Version: 3.0.0 +- Version: 6.10.0 - Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://github.com/dotnet/corefx -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/3.0.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.IdentityModel.Protocols/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) ``` The MIT License (MIT) -Copyright (c) .NET Foundation and Contributors - -All rights reserved. +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.IdentityModel.Protocols.OpenIdConnect 6.10.0</summary> + +## Microsoft.IdentityModel.Protocols.OpenIdConnect + +- Version: 6.10.0 +- Authors: Microsoft +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.IdentityModel.Protocols.OpenIdConnect/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.IdentityModel.Tokens 6.10.0</summary> + +## Microsoft.IdentityModel.Tokens + +- Version: 6.10.0 +- Authors: Microsoft +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.IdentityModel.Tokens/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.NET.Test.Sdk 17.4.0</summary> + +## Microsoft.NET.Test.Sdk + +- Version: 17.4.0 +- Authors: Microsoft +- Owners: Microsoft +- Project URL: https://github.com/microsoft/vstest/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.4.0) +- License: [MIT](https://raw.githubusercontent.com/microsoft/vstest/main/LICENSE) + + +``` +Copyright (c) 2020 Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Microsoft.NETCore.Platforms 1.1.0</summary> + +## Microsoft.NETCore.Platforms + +- Version: 1.1.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/1.1.0) +- License: [MICROSOFT .NET LIBRARY License](http://go.microsoft.com/fwlink/?LinkId=329770) + + +``` +MICROSOFT SOFTWARE LICENSE +TERMS + +MICROSOFT .NET +LIBRARY + +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. + +If +you comply with these license terms, you have the rights below. + +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  + +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. �Distributable Code� is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +�        +You may copy and distribute the object code form of the software. +�        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +�        +use the Distributable Code in your applications and not as a +standalone distribution; +�        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +�        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys� fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +�        +use Microsoft�s trademarks in your applications� names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +�        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft�s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +�        +work around any technical +limitations in the software; +�        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +�        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +�        +use the software in any way that +is against the law; or +�        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting. � +7.    +SUPPORT +SERVICES. Because this software is �as is,� we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.� If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)������� Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)������ Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. +``` + +</details> + + +<details> +<summary>Microsoft.NETCore.Platforms 3.0.0</summary> + +## Microsoft.NETCore.Platforms + +- Version: 3.0.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/corefx +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.NETCore.Platforms/3.0.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -5723,7 +5959,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -5740,7 +5976,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -5809,7 +6045,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -5872,7 +6108,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -5923,7 +6159,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -5940,7 +6176,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -6009,7 +6245,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -6072,7 +6308,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -6333,7 +6569,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -6350,7 +6586,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -6419,7 +6655,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -6482,7 +6718,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -6547,57 +6783,276 @@ SOFTWARE. <details> -<summary>Microsoft.Win32.SystemEvents 4.5.0</summary> +<summary>Microsoft.Win32.SystemEvents 4.5.0</summary> + +## Microsoft.Win32.SystemEvents + +- Version: 4.5.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Win32.SystemEvents/4.5.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>Minio 4.0.6</summary> -## Microsoft.Win32.SystemEvents +## Minio -- Version: 4.5.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Win32.SystemEvents/4.5.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) +- Version: 4.0.6 +- Authors: MinIO, Inc. +- Project URL: https://github.com/minio/minio-dotnet +- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.6) +- License: [Apache-2.0](https://github.com/minio/minio-dotnet/raw/master/LICENSE) ``` -The MIT License (MIT) +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) .NET Foundation and Contributors + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -All rights reserved. + 1. Definitions. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ``` </details> <details> -<summary>Minio 4.0.6</summary> +<summary>Monai.Deploy.Messaging 0.1.18</summary> -## Minio +## Monai.Deploy.Messaging -- Version: 4.0.6 -- Authors: MinIO, Inc. -- Project URL: https://github.com/minio/minio-dotnet -- Source: [NuGet](https://www.nuget.org/packages/Minio/4.0.6) -- License: [Apache-2.0](https://github.com/minio/minio-dotnet/raw/master/LICENSE) +- Version: 0.1.18 +- Authors: MONAI Consortium +- Project URL: https://github.com/Project-MONAI/monai-deploy-messaging +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.18) +- License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) ``` @@ -6781,7 +7236,7 @@ Apache License APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" + boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a @@ -6789,7 +7244,7 @@ Apache License same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright {yyyy} {name of copyright owner} + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -6802,20 +7257,29 @@ Apache License WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +--- + +Copyright (c) MONAI Consortium. All rights reserved. +Licensed under the [Apache-2.0](LICENSE) license. + +This software uses the Microsoft .NET 6.0 library, and the use of this software is subject to the [Microsoft software license terms](https://dotnet.microsoft.com/en-us/dotnet_library_license.htm). + +By downloading this software, you agree to the license terms & all licenses listed on the [third-party licenses](third-party-licenses.md) page. ``` </details> <details> -<summary>Monai.Deploy.Messaging 0.1.16</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.18</summary> -## Monai.Deploy.Messaging +## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.16 +- Version: 0.1.18 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.16) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.18) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7036,15 +7500,15 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.16</summary> +<summary>Monai.Deploy.Security 0.1.1</summary> -## Monai.Deploy.Messaging.RabbitMQ +## Monai.Deploy.Security -- Version: 0.1.16 +- Version: 0.1.1 - Authors: MONAI Consortium -- Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.16) -- License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) +- Project URL: https://github.com/Project-MONAI/monai-deploy-storage +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Security/0.1.1) +- License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) ``` @@ -7264,14 +7728,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage 0.2.10</summary> +<summary>Monai.Deploy.Storage 0.2.11</summary> ## Monai.Deploy.Storage -- Version: 0.2.10 +- Version: 0.2.11 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.10) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.11) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -7492,14 +7956,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.10</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.11</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.10 +- Version: 0.2.11 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.10) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.11) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -7720,14 +8184,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.10</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.11</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.10 +- Version: 0.2.11 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.10) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.11) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8198,7 +8662,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -8215,7 +8679,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -8284,7 +8748,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -8347,7 +8811,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -8410,14 +8874,14 @@ SOFTWARE. <details> -<summary>NLog 5.0.5</summary> +<summary>NLog 5.1.0</summary> ## NLog -- Version: 5.0.5 +- Version: 5.1.0 - Authors: Jarek Kowalski,Kim Christensen,Julian Verdurmen - Project URL: https://nlog-project.org/ -- Source: [NuGet](https://www.nuget.org/packages/NLog/5.0.5) +- Source: [NuGet](https://www.nuget.org/packages/NLog/5.1.0) - License: [BSD 3-Clause License](https://github.com/NLog/NLog/raw/dev/LICENSE.txt) @@ -8426,31 +8890,31 @@ Copyright (c) 2004-2021 Jaroslaw Kowalski , Kim Christensen, Julian Verdurmen All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. + and/or other materials provided with the distribution. -* Neither the name of Jaroslaw Kowalski nor the names of its +* Neither the name of Jaroslaw Kowalski nor the names of its contributors may be used to endorse or promote products derived from this - software without specific prior written permission. + software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ``` @@ -8458,14 +8922,14 @@ THE POSSIBILITY OF SUCH DAMAGE. <details> -<summary>NLog.Extensions.Logging 5.1.0</summary> +<summary>NLog.Extensions.Logging 5.2.0</summary> ## NLog.Extensions.Logging -- Version: 5.1.0 +- Version: 5.2.0 - Authors: Microsoft,Julian Verdurmen - Project URL: https://github.com/NLog/NLog.Extensions.Logging -- Source: [NuGet](https://www.nuget.org/packages/NLog.Extensions.Logging/5.1.0) +- Source: [NuGet](https://www.nuget.org/packages/NLog.Extensions.Logging/5.2.0) - License: [BSD 2-Clause Simplified License](https://github.com/NLog/NLog.Extensions.Logging/raw/master/LICENSE) @@ -8499,14 +8963,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <details> -<summary>NLog.Web.AspNetCore 5.1.5</summary> +<summary>NLog.Web.AspNetCore 5.2.0</summary> ## NLog.Web.AspNetCore -- Version: 5.1.5 +- Version: 5.2.0 - Authors: Julian Verdurmen - Project URL: https://github.com/NLog/NLog.Web -- Source: [NuGet](https://www.nuget.org/packages/NLog.Web.AspNetCore/5.1.5) +- Source: [NuGet](https://www.nuget.org/packages/NLog.Web.AspNetCore/5.2.0) - License: [BSD 3-Clause License](https://github.com/NLog/NLog.Web/raw/master/LICENSE) @@ -8623,15 +9087,14 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. <details> -<summary>Newtonsoft.Json 9.0.1</summary> +<summary>Newtonsoft.Json 13.0.2</summary> ## Newtonsoft.Json -- Version: 9.0.1 +- Version: 13.0.2 - Authors: James Newton-King -- Owners: James Newton-King -- Project URL: http://www.newtonsoft.com/json -- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/9.0.1) +- Project URL: https://www.newtonsoft.com/json +- Source: [NuGet](https://www.nuget.org/packages/Newtonsoft.Json/13.0.2) - License: [MIT](https://github.com/JamesNK/Newtonsoft.Json/raw/master/LICENSE.md) @@ -8831,7 +9294,7 @@ Copyright (c) 2000 - 2022 The Legion of the Bouncy Castle Inc. (http://www.bounc The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +   @@ -10538,7 +11001,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -10555,7 +11018,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -10624,7 +11087,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -10687,7 +11150,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -10738,7 +11201,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -10755,7 +11218,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -10824,7 +11287,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -10887,7 +11350,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -10980,7 +11443,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -10997,7 +11460,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -11066,7 +11529,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -11129,7 +11592,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11180,7 +11643,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11197,7 +11660,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -11266,7 +11729,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -11329,7 +11792,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11421,7 +11884,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11438,7 +11901,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -11507,7 +11970,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -11570,7 +12033,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11621,7 +12084,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -11638,7 +12101,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -11707,7 +12170,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -11770,7 +12233,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -11985,7 +12448,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12002,7 +12465,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -12071,7 +12534,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -12134,7 +12597,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12269,7 +12732,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12286,7 +12749,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -12355,7 +12818,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -12418,7 +12881,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12469,7 +12932,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12486,7 +12949,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -12555,7 +13018,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -12618,7 +13081,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12753,7 +13216,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12770,7 +13233,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -12839,7 +13302,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -12902,7 +13365,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -12953,7 +13416,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -12970,7 +13433,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -13039,7 +13502,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -13102,7 +13565,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13153,7 +13616,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13170,7 +13633,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -13239,7 +13702,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -13302,7 +13765,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13435,7 +13898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13452,7 +13915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -13521,7 +13984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -13584,7 +14047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13635,7 +14098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13652,7 +14115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -13721,7 +14184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -13784,7 +14247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -13877,7 +14340,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -13894,7 +14357,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -13963,7 +14426,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -14026,7 +14489,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14077,7 +14540,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14094,7 +14557,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -14163,7 +14626,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -14226,7 +14689,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14277,7 +14740,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14294,7 +14757,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -14363,7 +14826,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -14426,7 +14889,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14477,7 +14940,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14494,7 +14957,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -14563,7 +15026,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -14626,7 +15089,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14677,7 +15140,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14694,7 +15157,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -14763,7 +15226,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -14826,7 +15289,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -14877,7 +15340,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -14894,7 +15357,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -14963,7 +15426,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -15026,7 +15489,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15049,97 +15512,215 @@ consequential or other damages. <details> -<summary>System.IO.Abstractions 17.2.3</summary> - -## System.IO.Abstractions - -- Version: 17.2.3 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> +<summary>System.IO.Compression 4.3.0</summary> -## System.IO.Abstractions.TestingHelpers +## System.IO.Compression -- Version: 17.2.3 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression/4.3.0) +- License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) ``` -The MIT License (MIT) +MICROSOFT SOFTWARE LICENSE +TERMS -Copyright (c) Tatham Oddie and Contributors +MICROSOFT .NET +LIBRARY -All rights reserved. +These +license terms are an agreement between you and Microsoft Corporation (or based +on where you live, one of its affiliates). They apply to the software named +above. The terms also apply to any Microsoft services or updates for the +software, except to the extent those have different terms. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +If +you comply with these license terms, you have the rights below. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +1.    INSTALLATION AND USE RIGHTS. +You may +install and use any number of copies of the software to develop and test your applications.  -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +2.    +THIRD PARTY COMPONENTS. The software may include third party components with +separate legal notices or governed by other agreements, as may be described in +the ThirdPartyNotices file(s) accompanying the software. +3.    +ADDITIONAL LICENSING +REQUIREMENTS AND/OR USE RIGHTS. +a.     +DISTRIBUTABLE +CODE.  The software is +comprised of Distributable Code. �Distributable Code� is code that you are +permitted to distribute in applications you develop if you comply with the +terms below. +i.      Right to Use and Distribute. +�        +You may copy and distribute the object code form of the software. +�        +Third Party Distribution. You may permit distributors of your applications +to copy and distribute the Distributable Code as part of those applications. +ii.     Distribution Requirements. For any +Distributable Code you distribute, you must +�        +use the Distributable Code in your applications and not as a +standalone distribution; +�        +require distributors and external end users to agree to terms that +protect it at least as much as this agreement; and +�        +indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys� fees, related to the distribution or use of your applications, +except to the extent that any claim is based solely on the unmodified Distributable +Code. +iii.   Distribution Restrictions. You may not +�        +use Microsoft�s trademarks in your applications� names or in a way +that suggests your applications come from or are endorsed by Microsoft; or +�        +modify or distribute the source code of any Distributable Code so +that any part of it becomes subject to an Excluded License. An �Excluded +License� is one that requires, as a condition of use, modification or +distribution of code, that (i) it be disclosed or distributed in source code +form; or (ii) others have the right to modify it. +4.    +DATA. +a.     +Data Collection. The software may collect +information about you and your use of the software, and send that to Microsoft. +Microsoft may use this information to provide services and improve our products +and services.� You may opt-out of many of these scenarios, but not all, as +described in the software documentation.� There are also some features in the software that may enable you and +Microsoft to collect data from users of your applications. If you use +these features, you must comply with applicable law, including providing +appropriate notices to users of your applications together with Microsoft�s +privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data +collection and its use from the software documentation and our privacy +statement. Your use of the software operates as your consent to these +practices. +b.    +Processing of Personal Data. To the extent Microsoft is a +processor or subprocessor of personal data in connection with the software, +Microsoft makes the commitments in the European Union General Data Protection +Regulation Terms of the Online Services Terms to all customers effective May +25, 2018, at https://learn.microsoft.com/en-us/legal/gdpr. +5.    +Scope of +License. The software is licensed, not sold. This agreement +only gives you some rights to use the software. Microsoft reserves all other +rights. Unless applicable law gives you more rights despite this limitation, +you may use the software only as expressly permitted in this agreement. In +doing so, you must comply with any technical limitations in the software that +only allow you to use it in certain ways. You may not +�        +work around any technical +limitations in the software; +�        +reverse engineer, decompile or +disassemble the software, or otherwise attempt to derive the source code for +the software, except and to the extent required by third party licensing terms +governing use of certain open source components that may be included in the +software; +�        +remove, minimize, block or modify +any notices of Microsoft or its suppliers in the software; +�        +use the software in any way that +is against the law; or +�        +share, publish, rent or lease the +software, provide the software as a stand-alone offering for others to use, or +transfer the software or this agreement to any third party. +6.    +Export +Restrictions. You must comply with all domestic and international +export laws and regulations that apply to the software, which include +restrictions on destinations, end users, and end use. For further information +on export restrictions, visit www.microsoft.com/exporting. � +7.    +SUPPORT +SERVICES. Because this software is �as is,� we may not provide +support services for it. +8.    +Entire +Agreement. This +agreement, and the terms for supplements, updates, Internet-based services and +support services that you use, are the entire agreement for the software and +support services. +9.    Applicable Law.� If you acquired the software in the United States, Washington law +applies to interpretation of and claims for breach of this agreement, and the +laws of the state where you live apply to all other claims. If you acquired the +software in any other country, its laws apply. +10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You +may have other rights, including consumer rights, under the laws of your state +or country. Separate and apart from your relationship with Microsoft, you may +also have rights with respect to the party from which you acquired the +software. This agreement does not change those other rights if the laws of your +state or country do not permit it to do so. For example, if you acquired the +software in one of the below regions, or mandatory country law applies, then +the following provisions apply to you: +a)    Australia. You have statutory guarantees under the Australian Consumer +Law and nothing in this agreement is intended to affect those rights. +b)    Canada. If you acquired this software in Canada, you may stop +receiving updates by turning off the automatic update feature, disconnecting +your device from the Internet (if and when you re-connect to the Internet, +however, the software will resume checking for and installing updates), or uninstalling +the software. The product documentation, if any, may also specify how to turn +off updates for your specific device or software. +c)    Germany and Austria. +(i)������� Warranty. The software will perform +substantially as described in any Microsoft materials that accompany it. +However, Microsoft gives no contractual guarantee in relation to the software. +(ii)������ Limitation of Liability. In case of +intentional conduct, gross negligence, claims based on the Product Liability +Act, as well as in case of death or personal or physical injury, Microsoft is +liable according to the statutory law. +Subject to the foregoing clause (ii), Microsoft will only +be liable for slight negligence if Microsoft is in breach of such material +contractual obligations, the fulfillment of which facilitate the due +performance of this agreement, the breach of which would endanger the purpose +of this agreement and the compliance with which a party may constantly trust in +(so-called "cardinal obligations"). In other cases of slight negligence, +Microsoft will not be liable for slight negligence +11. Disclaimer of Warranty. THE SOFTWARE IS LICENSED �AS-IS.� YOU BEAR THE RISK +OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. +12. +Limitation +on and Exclusion of Remedies and Damages. YOU +CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST +PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to (a) +anything related to the software, services, content (including code) on third +party Internet sites, or third party applications; and (b) claims for breach of +contract, breach of warranty, guarantee or condition, strict liability, +negligence, or other tort to the extent permitted by applicable law. +It +also applies even if Microsoft knew or should have known about the possibility +of the damages. The above limitation or exclusion may not apply to you because +your state or country may not allow the exclusion or limitation of incidental, +consequential or other damages. ``` </details> <details> -<summary>System.IO.Compression 4.3.0</summary> +<summary>System.IO.Compression.ZipFile 4.3.0</summary> -## System.IO.Compression +## System.IO.Compression.ZipFile - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression.ZipFile/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15159,7 +15740,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15176,7 +15757,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -15245,7 +15826,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -15308,7 +15889,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15331,15 +15912,15 @@ consequential or other damages. <details> -<summary>System.IO.Compression.ZipFile 4.3.0</summary> +<summary>System.IO.FileSystem 4.3.0</summary> -## System.IO.Compression.ZipFile +## System.IO.FileSystem - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Compression.ZipFile/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15359,7 +15940,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15376,7 +15957,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -15445,7 +16026,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -15508,7 +16089,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15531,15 +16112,15 @@ consequential or other damages. <details> -<summary>System.IO.FileSystem 4.3.0</summary> +<summary>System.IO.FileSystem.Primitives 4.3.0</summary> -## System.IO.FileSystem +## System.IO.FileSystem.Primitives - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem.Primitives/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15559,7 +16140,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15576,7 +16157,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -15645,7 +16226,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -15708,7 +16289,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15731,15 +16312,54 @@ consequential or other damages. <details> -<summary>System.IO.FileSystem.Primitives 4.3.0</summary> +<summary>System.IdentityModel.Tokens.Jwt 6.10.0</summary> -## System.IO.FileSystem.Primitives +## System.IdentityModel.Tokens.Jwt + +- Version: 6.10.0 +- Authors: Microsoft +- Project URL: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet +- Source: [NuGet](https://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt/6.10.0) +- License: [MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/raw/dev/LICENSE.txt) + + +``` +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Linq 4.3.0</summary> + +## System.Linq - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.IO.FileSystem.Primitives/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Linq/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15759,7 +16379,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15776,7 +16396,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -15845,7 +16465,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -15908,7 +16528,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -15931,15 +16551,56 @@ consequential or other damages. <details> -<summary>System.Linq 4.3.0</summary> +<summary>System.Linq.Async 6.0.1</summary> -## System.Linq +## System.Linq.Async + +- Version: 6.0.1 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Async/6.0.1) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Linq.Expressions 4.3.0</summary> + +## System.Linq.Expressions - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Linq/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Expressions/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -15959,7 +16620,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -15976,7 +16637,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -16045,7 +16706,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -16108,7 +16769,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16131,15 +16792,16 @@ consequential or other damages. <details> -<summary>System.Linq.Async 6.0.1</summary> +<summary>System.Memory 4.5.1</summary> -## System.Linq.Async +## System.Memory -- Version: 6.0.1 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Async/6.0.1) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) +- Version: 4.5.1 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.1) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) ``` @@ -16172,15 +16834,57 @@ SOFTWARE. <details> -<summary>System.Linq.Expressions 4.3.0</summary> +<summary>System.Memory 4.5.4</summary> -## System.Linq.Expressions +## System.Memory + +- Version: 4.5.4 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.4) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Net.Http 4.3.0</summary> + +## System.Net.Http - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Linq.Expressions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16200,7 +16904,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16217,7 +16921,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -16286,7 +16990,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -16349,7 +17053,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16372,99 +17076,15 @@ consequential or other damages. <details> -<summary>System.Memory 4.5.1</summary> - -## System.Memory - -- Version: 4.5.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.1) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Memory 4.5.4</summary> - -## System.Memory - -- Version: 4.5.4 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Memory/4.5.4) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Net.Http 4.3.0</summary> +<summary>System.Net.Http 4.3.4</summary> ## System.Net.Http -- Version: 4.3.0 +- Version: 4.3.4 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.4) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16484,7 +17104,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16501,7 +17121,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -16570,7 +17190,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -16633,7 +17253,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16656,15 +17276,15 @@ consequential or other damages. <details> -<summary>System.Net.Http 4.3.4</summary> +<summary>System.Net.NameResolution 4.3.0</summary> -## System.Net.Http +## System.Net.NameResolution -- Version: 4.3.4 +- Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Http/4.3.4) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.NameResolution/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16684,7 +17304,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16701,7 +17321,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -16770,7 +17390,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -16833,7 +17453,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -16856,15 +17476,15 @@ consequential or other damages. <details> -<summary>System.Net.NameResolution 4.3.0</summary> +<summary>System.Net.Primitives 4.3.0</summary> -## System.Net.NameResolution +## System.Net.Primitives - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.NameResolution/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -16884,7 +17504,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -16901,7 +17521,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -16970,7 +17590,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -17033,7 +17653,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17056,15 +17676,15 @@ consequential or other damages. <details> -<summary>System.Net.Primitives 4.3.0</summary> +<summary>System.Net.Primitives 4.3.1</summary> ## System.Net.Primitives -- Version: 4.3.0 +- Version: 4.3.1 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.1) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -17084,7 +17704,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17101,7 +17721,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -17170,7 +17790,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -17233,7 +17853,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17256,15 +17876,15 @@ consequential or other damages. <details> -<summary>System.Net.Primitives 4.3.1</summary> +<summary>System.Net.Sockets 4.3.0</summary> -## System.Net.Primitives +## System.Net.Sockets -- Version: 4.3.1 +- Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Primitives/4.3.1) +- Source: [NuGet](https://www.nuget.org/packages/System.Net.Sockets/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -17284,7 +17904,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17301,7 +17921,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -17370,7 +17990,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -17433,7 +18053,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17456,15 +18076,15 @@ consequential or other damages. <details> -<summary>System.Net.Sockets 4.3.0</summary> +<summary>System.ObjectModel 4.3.0</summary> -## System.Net.Sockets +## System.ObjectModel - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Net.Sockets/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.ObjectModel/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -17484,7 +18104,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17501,7 +18121,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -17570,7 +18190,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -17633,7 +18253,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17656,15 +18276,15 @@ consequential or other damages. <details> -<summary>System.ObjectModel 4.3.0</summary> +<summary>System.Private.Uri 4.3.0</summary> -## System.ObjectModel +## System.Private.Uri - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.ObjectModel/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Private.Uri/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -17684,7 +18304,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17701,7 +18321,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -17770,7 +18390,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -17833,7 +18453,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -17856,15 +18476,97 @@ consequential or other damages. <details> -<summary>System.Private.Uri 4.3.0</summary> +<summary>System.Reactive 5.0.0</summary> -## System.Private.Uri +## System.Reactive + +- Version: 5.0.0 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Reactive/5.0.0) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Reactive.Linq 5.0.0</summary> + +## System.Reactive.Linq + +- Version: 5.0.0 +- Authors: .NET Foundation and Contributors +- Project URL: https://github.com/dotnet/reactive +- Source: [NuGet](https://www.nuget.org/packages/System.Reactive.Linq/5.0.0) +- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Reflection 4.3.0</summary> + +## System.Reflection - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Private.Uri/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -17884,7 +18586,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -17901,7 +18603,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -17970,7 +18672,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -18033,7 +18735,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18056,97 +18758,15 @@ consequential or other damages. <details> -<summary>System.Reactive 5.0.0</summary> - -## System.Reactive - -- Version: 5.0.0 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Reactive/5.0.0) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Reactive.Linq 5.0.0</summary> - -## System.Reactive.Linq - -- Version: 5.0.0 -- Authors: .NET Foundation and Contributors -- Project URL: https://github.com/dotnet/reactive -- Source: [NuGet](https://www.nuget.org/packages/System.Reactive.Linq/5.0.0) -- License: [MIT](https://github.com/dotnet/reactive/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Reflection 4.3.0</summary> +<summary>System.Reflection.Emit 4.3.0</summary> -## System.Reflection +## System.Reflection.Emit - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -18166,7 +18786,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18183,7 +18803,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -18252,7 +18872,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -18315,7 +18935,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18338,15 +18958,15 @@ consequential or other damages. <details> -<summary>System.Reflection.Emit 4.3.0</summary> +<summary>System.Reflection.Emit.ILGeneration 4.3.0</summary> -## System.Reflection.Emit +## System.Reflection.Emit.ILGeneration - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -18366,7 +18986,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18383,7 +19003,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -18452,7 +19072,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -18515,7 +19135,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18538,15 +19158,15 @@ consequential or other damages. <details> -<summary>System.Reflection.Emit.ILGeneration 4.3.0</summary> +<summary>System.Reflection.Emit.Lightweight 4.3.0</summary> -## System.Reflection.Emit.ILGeneration +## System.Reflection.Emit.Lightweight - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -18566,7 +19186,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18583,7 +19203,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -18652,7 +19272,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -18715,7 +19335,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18738,15 +19358,15 @@ consequential or other damages. <details> -<summary>System.Reflection.Emit.Lightweight 4.3.0</summary> +<summary>System.Reflection.Extensions 4.3.0</summary> -## System.Reflection.Emit.Lightweight +## System.Reflection.Extensions - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Extensions/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -18766,7 +19386,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18783,7 +19403,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -18852,7 +19472,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -18915,7 +19535,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -18938,15 +19558,57 @@ consequential or other damages. <details> -<summary>System.Reflection.Extensions 4.3.0</summary> +<summary>System.Reflection.Metadata 1.6.0</summary> + +## System.Reflection.Metadata + +- Version: 1.6.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Metadata/1.6.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) -## System.Reflection.Extensions + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Reflection.Primitives 4.3.0</summary> + +## System.Reflection.Primitives - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Extensions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Primitives/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -18966,7 +19628,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -18983,7 +19645,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -19052,7 +19714,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -19115,7 +19777,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19138,57 +19800,15 @@ consequential or other damages. <details> -<summary>System.Reflection.Metadata 1.6.0</summary> - -## System.Reflection.Metadata - -- Version: 1.6.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Metadata/1.6.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Reflection.Primitives 4.3.0</summary> +<summary>System.Reflection.TypeExtensions 4.3.0</summary> -## System.Reflection.Primitives +## System.Reflection.TypeExtensions - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.Primitives/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -19208,7 +19828,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19225,7 +19845,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -19294,7 +19914,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -19357,7 +19977,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19380,15 +20000,15 @@ consequential or other damages. <details> -<summary>System.Reflection.TypeExtensions 4.3.0</summary> +<summary>System.Resources.ResourceManager 4.3.0</summary> -## System.Reflection.TypeExtensions +## System.Resources.ResourceManager - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Reflection.TypeExtensions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Resources.ResourceManager/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -19408,7 +20028,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19425,7 +20045,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -19494,7 +20114,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -19557,7 +20177,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19580,15 +20200,15 @@ consequential or other damages. <details> -<summary>System.Resources.ResourceManager 4.3.0</summary> +<summary>System.Runtime 4.3.0</summary> -## System.Resources.ResourceManager +## System.Runtime - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Resources.ResourceManager/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -19608,7 +20228,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19625,7 +20245,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -19694,7 +20314,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -19757,7 +20377,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19780,15 +20400,15 @@ consequential or other damages. <details> -<summary>System.Runtime 4.3.0</summary> +<summary>System.Runtime 4.3.1</summary> ## System.Runtime -- Version: 4.3.0 +- Version: 4.3.1 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.1) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -19808,7 +20428,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -19825,7 +20445,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -19894,7 +20514,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -19957,7 +20577,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -19980,15 +20600,98 @@ consequential or other damages. <details> -<summary>System.Runtime 4.3.1</summary> +<summary>System.Runtime.CompilerServices.Unsafe 4.5.1</summary> -## System.Runtime +## System.Runtime.CompilerServices.Unsafe -- Version: 4.3.1 +- Version: 4.5.1 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime/4.3.1) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.1) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Runtime.CompilerServices.Unsafe 6.0.0</summary> + +## System.Runtime.CompilerServices.Unsafe + +- Version: 6.0.0 +- Authors: Microsoft +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0) +- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Runtime.Extensions 4.3.0</summary> + +## System.Runtime.Extensions + +- Version: 4.3.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://dot.net/ +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Extensions/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -20008,7 +20711,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20025,7 +20728,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -20094,7 +20797,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -20157,7 +20860,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20180,98 +20883,15 @@ consequential or other damages. <details> -<summary>System.Runtime.CompilerServices.Unsafe 4.5.1</summary> - -## System.Runtime.CompilerServices.Unsafe - -- Version: 4.5.1 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.1) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Runtime.CompilerServices.Unsafe 6.0.0</summary> - -## System.Runtime.CompilerServices.Unsafe - -- Version: 6.0.0 -- Authors: Microsoft -- Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/6.0.0) -- License: [MIT](https://github.com/dotnet/runtime/raw/main/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Runtime.Extensions 4.3.0</summary> +<summary>System.Runtime.Handles 4.3.0</summary> -## System.Runtime.Extensions +## System.Runtime.Handles - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Extensions/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Handles/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -20291,7 +20911,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20308,7 +20928,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -20377,7 +20997,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -20440,7 +21060,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20463,15 +21083,15 @@ consequential or other damages. <details> -<summary>System.Runtime.Handles 4.3.0</summary> +<summary>System.Runtime.InteropServices 4.3.0</summary> -## System.Runtime.Handles +## System.Runtime.InteropServices - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Handles/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -20491,7 +21111,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20508,7 +21128,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -20577,7 +21197,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -20640,7 +21260,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20663,15 +21283,15 @@ consequential or other damages. <details> -<summary>System.Runtime.InteropServices 4.3.0</summary> +<summary>System.Runtime.InteropServices.RuntimeInformation 4.3.0</summary> -## System.Runtime.InteropServices +## System.Runtime.InteropServices.RuntimeInformation - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices.RuntimeInformation/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -20691,7 +21311,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20708,7 +21328,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -20777,7 +21397,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -20840,7 +21460,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -20863,15 +21483,15 @@ consequential or other damages. <details> -<summary>System.Runtime.InteropServices.RuntimeInformation 4.3.0</summary> +<summary>System.Runtime.Loader 4.3.0</summary> -## System.Runtime.InteropServices.RuntimeInformation +## System.Runtime.Loader - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.InteropServices.RuntimeInformation/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Loader/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -20891,7 +21511,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -20908,7 +21528,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -20977,7 +21597,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -21040,7 +21660,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21063,15 +21683,15 @@ consequential or other damages. <details> -<summary>System.Runtime.Loader 4.3.0</summary> +<summary>System.Runtime.Numerics 4.3.0</summary> -## System.Runtime.Loader +## System.Runtime.Numerics - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Loader/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Numerics/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -21091,7 +21711,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21108,7 +21728,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -21177,7 +21797,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -21240,7 +21860,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21263,15 +21883,15 @@ consequential or other damages. <details> -<summary>System.Runtime.Numerics 4.3.0</summary> +<summary>System.Runtime.Serialization.Formatters 4.3.0</summary> -## System.Runtime.Numerics +## System.Runtime.Serialization.Formatters - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Numerics/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Formatters/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -21291,7 +21911,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21308,7 +21928,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -21377,7 +21997,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -21440,7 +22060,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21463,15 +22083,15 @@ consequential or other damages. <details> -<summary>System.Runtime.Serialization.Formatters 4.3.0</summary> +<summary>System.Runtime.Serialization.Primitives 4.1.1</summary> -## System.Runtime.Serialization.Formatters +## System.Runtime.Serialization.Primitives -- Version: 4.3.0 +- Version: 4.1.1 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Formatters/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.1.1) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -21491,7 +22111,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21508,7 +22128,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -21577,7 +22197,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -21640,7 +22260,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21663,15 +22283,15 @@ consequential or other damages. <details> -<summary>System.Runtime.Serialization.Primitives 4.1.1</summary> +<summary>System.Runtime.Serialization.Primitives 4.3.0</summary> ## System.Runtime.Serialization.Primitives -- Version: 4.1.1 +- Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.1.1) +- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -21691,7 +22311,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21708,7 +22328,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -21777,7 +22397,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -21840,7 +22460,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -21863,15 +22483,57 @@ consequential or other damages. <details> -<summary>System.Runtime.Serialization.Primitives 4.3.0</summary> +<summary>System.Security.AccessControl 5.0.0</summary> -## System.Runtime.Serialization.Primitives +## System.Security.AccessControl + +- Version: 5.0.0 +- Authors: Microsoft +- Owners: microsoft,dotnetframework +- Project URL: https://github.com/dotnet/runtime +- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/5.0.0) +- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) + + +``` +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.Security.Claims 4.3.0</summary> + +## System.Security.Claims - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Runtime.Serialization.Primitives/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Claims/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -21891,7 +22553,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -21908,7 +22570,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -21977,7 +22639,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -22040,7 +22702,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22063,57 +22725,15 @@ consequential or other damages. <details> -<summary>System.Security.AccessControl 5.0.0</summary> - -## System.Security.AccessControl - -- Version: 5.0.0 -- Authors: Microsoft -- Owners: microsoft,dotnetframework -- Project URL: https://github.com/dotnet/runtime -- Source: [NuGet](https://www.nuget.org/packages/System.Security.AccessControl/5.0.0) -- License: [MIT](https://github.com/dotnet/corefx/raw/master/LICENSE.TXT) - - -``` -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.Security.Claims 4.3.0</summary> +<summary>System.Security.Cryptography.Algorithms 4.3.0</summary> -## System.Security.Claims +## System.Security.Cryptography.Algorithms - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Claims/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Algorithms/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -22133,7 +22753,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22150,7 +22770,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -22219,7 +22839,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -22282,7 +22902,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22305,15 +22925,15 @@ consequential or other damages. <details> -<summary>System.Security.Cryptography.Algorithms 4.3.0</summary> +<summary>System.Security.Cryptography.Cng 4.3.0</summary> -## System.Security.Cryptography.Algorithms +## System.Security.Cryptography.Cng - Version: 4.3.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Algorithms/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Cng/4.3.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -22333,7 +22953,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22350,7 +22970,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -22419,7 +23039,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -22482,7 +23102,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22505,15 +23125,15 @@ consequential or other damages. <details> -<summary>System.Security.Cryptography.Cng 4.3.0</summary> +<summary>System.Security.Cryptography.Cng 4.5.0</summary> ## System.Security.Cryptography.Cng -- Version: 4.3.0 +- Version: 4.5.0 - Authors: Microsoft - Owners: microsoft,dotnetframework - Project URL: https://dot.net/ -- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Cng/4.3.0) +- Source: [NuGet](https://www.nuget.org/packages/System.Security.Cryptography.Cng/4.5.0) - License: [MICROSOFT .NET LIBRARY License]( http://go.microsoft.com/fwlink/?LinkId=329770) @@ -22533,7 +23153,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22550,7 +23170,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -22619,7 +23239,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -22682,7 +23302,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22733,7 +23353,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22750,7 +23370,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -22819,7 +23439,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -22882,7 +23502,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -22933,7 +23553,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -22950,7 +23570,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -23019,7 +23639,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -23082,7 +23702,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23133,7 +23753,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23150,7 +23770,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -23219,7 +23839,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -23282,7 +23902,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23333,7 +23953,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23350,7 +23970,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -23419,7 +24039,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -23482,7 +24102,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23617,7 +24237,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23634,7 +24254,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -23703,7 +24323,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -23766,7 +24386,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -23859,7 +24479,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -23876,7 +24496,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -23945,7 +24565,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -24008,7 +24628,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24059,7 +24679,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24076,7 +24696,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -24145,7 +24765,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -24208,7 +24828,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24301,7 +24921,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24318,7 +24938,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -24387,7 +25007,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -24450,7 +25070,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24543,7 +25163,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24560,7 +25180,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -24629,7 +25249,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -24692,7 +25312,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -24950,7 +25570,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -24967,7 +25587,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -25036,7 +25656,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -25099,7 +25719,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25150,7 +25770,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25167,7 +25787,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -25236,7 +25856,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -25299,7 +25919,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25433,7 +26053,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25450,7 +26070,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -25519,7 +26139,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -25582,7 +26202,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25633,7 +26253,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25650,7 +26270,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -25719,7 +26339,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -25782,7 +26402,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -25874,7 +26494,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -25891,7 +26511,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -25960,7 +26580,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -26023,7 +26643,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26116,7 +26736,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26133,7 +26753,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -26202,7 +26822,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -26265,7 +26885,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26316,7 +26936,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26333,7 +26953,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -26402,7 +27022,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -26465,7 +27085,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26558,7 +27178,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26575,7 +27195,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -26644,7 +27264,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -26707,7 +27327,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26758,7 +27378,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26775,7 +27395,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -26844,7 +27464,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -26907,7 +27527,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -26958,7 +27578,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -26975,7 +27595,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -27044,7 +27664,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -27107,7 +27727,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -27129,6 +27749,156 @@ consequential or other damages. </details> +<details> +<summary>TestableIO.System.IO.Abstractions 18.0.1</summary> + +## TestableIO.System.IO.Abstractions + +- Version: 18.0.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions/18.0.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>TestableIO.System.IO.Abstractions.Extensions 1.0.34</summary> + +## TestableIO.System.IO.Abstractions.Extensions + +- Version: 1.0.34 +- Authors: Tatham Oddie - Luigi Grilli & friends +- Project URL: https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions +- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Extensions/1.0.34) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) + + +``` +MIT License + +Copyright (c) 2021 Tatham Oddie - Luigi Grilli & friends + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` + +</details> + + +<details> +<summary>TestableIO.System.IO.Abstractions.TestingHelpers 18.0.1</summary> + +## TestableIO.System.IO.Abstractions.TestingHelpers + +- Version: 18.0.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.TestingHelpers/18.0.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>TestableIO.System.IO.Abstractions.Wrappers 18.0.1</summary> + +## TestableIO.System.IO.Abstractions.Wrappers + +- Version: 18.0.1 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Wrappers/18.0.1) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>Validation 2.4.18</summary> @@ -27321,31 +28091,31 @@ A "contributor" is any person that distributes its contribution under this licen "Licensed patents" are a contributor's patent claims that read directly on its contribution. 2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. @@ -27466,30 +28236,30 @@ Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. Copyright (c) 2007-2009, Jan de Vaan All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -27499,70 +28269,70 @@ The MIT License (MIT) Copyright (c) Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Microsoft Patent Promise for .NET Libraries and Runtime Components +Microsoft Patent Promise for .NET Libraries and Runtime Components -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. -Definitions: +Definitions: -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. @@ -27626,31 +28396,31 @@ A "contributor" is any person that distributes its contribution under this licen "Licensed patents" are a contributor's patent claims that read directly on its contribution. 2. Grant of Rights -(A) Copyright Grant- Subject to the terms of this license, including the license conditions - and limitations in section 3, each contributor grants you a non-exclusive, worldwide, - royalty-free copyright license to reproduce its contribution, prepare derivative works +(A) Copyright Grant- Subject to the terms of this license, including the license conditions + and limitations in section 3, each contributor grants you a non-exclusive, worldwide, + royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. -(B) Patent Grant- Subject to the terms of this license, including the license conditions and - limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free - license under its licensed patents to make, have made, use, sell, offer for sale, import, - and/or otherwise dispose of its contribution in the software or derivative works of the +(B) Patent Grant- Subject to the terms of this license, including the license conditions and + limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free + license under its licensed patents to make, have made, use, sell, offer for sale, import, + and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. 3. Conditions and Limitations -(A) No Trademark License- This license does not grant you rights to use any contributors' name, +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you claim are infringed +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. -(D) If you distribute any portion of the software in source code form, you may do so only under this - license by including a complete copy of this license with your distribution. If you distribute - any portion of the software in compiled or object code form, you may only do so under a license +(D) If you distribute any portion of the software in source code form, you may do so only under this + license by including a complete copy of this license with your distribution. If you distribute + any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. -(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express - warranties, guarantees or conditions. You may have additional consumer rights under your local - laws which this license cannot change. To the extent permitted under your local laws, the - contributors exclude the implied warranties of merchantability, fitness for a particular purpose +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express + warranties, guarantees or conditions. You may have additional consumer rights under your local + laws which this license cannot change. To the extent permitted under your local laws, the + contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. @@ -27771,30 +28541,30 @@ Group Toolkit is located in dcmjpeg/docs/ijg_readme.txt. Copyright (c) 2007-2009, Jan de Vaan All rights reserved. -Redistribution and use in source and binary forms, with or without +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of my employer, nor the names of its contributors may be - used to endorse or promote products derived from this software without +* Neither the name of my employer, nor the names of its contributors may be + used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @@ -27804,70 +28574,70 @@ The MIT License (MIT) Copyright (c) Microsoft Corporation -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Microsoft Patent Promise for .NET Libraries and Runtime Components +Microsoft Patent Promise for .NET Libraries and Runtime Components -Microsoft Corporation and its affiliates ("Microsoft") promise not to assert -any .NET Patents against you for making, using, selling, offering for sale, -importing, or distributing Covered Code, as part of either a .NET Runtime or -as part of any application designed to run on a .NET Runtime. +Microsoft Corporation and its affiliates ("Microsoft") promise not to assert +any .NET Patents against you for making, using, selling, offering for sale, +importing, or distributing Covered Code, as part of either a .NET Runtime or +as part of any application designed to run on a .NET Runtime. -If you file, maintain, or voluntarily participate in any claim in a lawsuit -alleging direct or contributory patent infringement by any Covered Code, or -inducement of patent infringement by any Covered Code, then your rights under -this promise will automatically terminate. +If you file, maintain, or voluntarily participate in any claim in a lawsuit +alleging direct or contributory patent infringement by any Covered Code, or +inducement of patent infringement by any Covered Code, then your rights under +this promise will automatically terminate. -This promise is not an assurance that (i) any .NET Patents are valid or -enforceable, or (ii) Covered Code does not infringe patents or other -intellectual property rights of any third party. No rights except those -expressly stated in this promise are granted, waived, or received by -Microsoft, whether by implication, exhaustion, estoppel, or otherwise. -This is a personal promise directly from Microsoft to you, and you agree as a -condition of benefiting from it that no Microsoft rights are received from -suppliers, distributors, or otherwise from any other person in connection with -this promise. +This promise is not an assurance that (i) any .NET Patents are valid or +enforceable, or (ii) Covered Code does not infringe patents or other +intellectual property rights of any third party. No rights except those +expressly stated in this promise are granted, waived, or received by +Microsoft, whether by implication, exhaustion, estoppel, or otherwise. +This is a personal promise directly from Microsoft to you, and you agree as a +condition of benefiting from it that no Microsoft rights are received from +suppliers, distributors, or otherwise from any other person in connection with +this promise. -Definitions: +Definitions: -"Covered Code" means those Microsoft .NET libraries and runtime components as -made available by Microsoft at https://github.com/Microsoft/referencesource. +"Covered Code" means those Microsoft .NET libraries and runtime components as +made available by Microsoft at https://github.com/Microsoft/referencesource. -".NET Patents" are those patent claims, both currently owned by Microsoft and -acquired in the future, that are necessarily infringed by Covered Code. .NET -Patents do not include any patent claims that are infringed by any Enabling -Technology, that are infringed only as a consequence of modification of -Covered Code, or that are infringed only by the combination of Covered Code -with third party code. +".NET Patents" are those patent claims, both currently owned by Microsoft and +acquired in the future, that are necessarily infringed by Covered Code. .NET +Patents do not include any patent claims that are infringed by any Enabling +Technology, that are infringed only as a consequence of modification of +Covered Code, or that are infringed only by the combination of Covered Code +with third party code. -".NET Runtime" means any compliant implementation in software of (a) all of -the required parts of the mandatory provisions of Standard ECMA-335 – Common -Language Infrastructure (CLI); and (b) if implemented, any additional -functionality in Microsoft's .NET Framework, as described in Microsoft's API -documentation on its MSDN website. For example, .NET Runtimes include -Microsoft's .NET Framework and those portions of the Mono Project compliant -with (a) and (b). +".NET Runtime" means any compliant implementation in software of (a) all of +the required parts of the mandatory provisions of Standard ECMA-335 – Common +Language Infrastructure (CLI); and (b) if implemented, any additional +functionality in Microsoft's .NET Framework, as described in Microsoft's API +documentation on its MSDN website. For example, .NET Runtimes include +Microsoft's .NET Framework and those portions of the Mono Project compliant +with (a) and (b). -"Enabling Technology" means underlying or enabling technology that may be -used, combined, or distributed in connection with Microsoft's .NET Framework -or other .NET Runtimes, such as hardware, operating systems, and applications -that run on .NET Framework or other .NET Runtimes. +"Enabling Technology" means underlying or enabling technology that may be +used, combined, or distributed in connection with Microsoft's .NET Framework +or other .NET Runtimes, such as hardware, operating systems, and applications +that run on .NET Framework or other .NET Runtimes. @@ -27928,7 +28698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -27945,7 +28715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -28014,7 +28784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -28077,7 +28847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28128,7 +28898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28145,7 +28915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -28214,7 +28984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -28277,7 +29047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28328,7 +29098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28345,7 +29115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -28414,7 +29184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -28477,7 +29247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28528,7 +29298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28545,7 +29315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -28614,7 +29384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -28677,7 +29447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28728,7 +29498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28745,7 +29515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -28814,7 +29584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -28877,7 +29647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -28928,7 +29698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -28945,7 +29715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -29014,7 +29784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -29077,7 +29847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29128,7 +29898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29145,7 +29915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -29214,7 +29984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -29277,7 +30047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29328,7 +30098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29345,7 +30115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -29414,7 +30184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -29477,7 +30247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29528,7 +30298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29545,7 +30315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -29614,7 +30384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -29677,7 +30447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29728,7 +30498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29745,7 +30515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -29814,7 +30584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -29877,7 +30647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -29928,7 +30698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -29945,7 +30715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -30014,7 +30784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -30077,7 +30847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30128,7 +30898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30145,7 +30915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -30214,7 +30984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -30277,7 +31047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30328,7 +31098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30345,7 +31115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -30414,7 +31184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -30477,7 +31247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30528,7 +31298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30545,7 +31315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -30614,7 +31384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -30677,7 +31447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30728,7 +31498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30745,7 +31515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -30814,7 +31584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -30877,7 +31647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -30928,7 +31698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -30945,7 +31715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -31014,7 +31784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -31077,7 +31847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31128,7 +31898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31145,7 +31915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -31214,7 +31984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -31277,7 +32047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31328,7 +32098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31345,7 +32115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -31414,7 +32184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -31477,7 +32247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31528,7 +32298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31545,7 +32315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -31614,7 +32384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -31677,7 +32447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31728,7 +32498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31745,7 +32515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -31814,7 +32584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -31877,7 +32647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -31928,7 +32698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -31945,7 +32715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -32014,7 +32784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -32077,7 +32847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32128,7 +32898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32145,7 +32915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -32214,7 +32984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -32277,7 +33047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32328,7 +33098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32345,7 +33115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -32414,7 +33184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -32477,7 +33247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32528,7 +33298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32545,7 +33315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -32614,7 +33384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -32677,7 +33447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32728,7 +33498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32745,7 +33515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -32814,7 +33584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -32877,7 +33647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -32928,7 +33698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -32945,7 +33715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -33014,7 +33784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -33077,7 +33847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33128,7 +33898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33145,7 +33915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -33214,7 +33984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -33277,7 +34047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33328,7 +34098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33345,7 +34115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -33414,7 +34184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -33477,7 +34247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33528,7 +34298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33545,7 +34315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -33614,7 +34384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -33677,7 +34447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33728,7 +34498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33745,7 +34515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -33814,7 +34584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -33877,7 +34647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -33928,7 +34698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -33945,7 +34715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -34014,7 +34784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -34077,7 +34847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34128,7 +34898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34145,7 +34915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -34214,7 +34984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -34277,7 +35047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34328,7 +35098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34345,7 +35115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -34414,7 +35184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -34477,7 +35247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34528,7 +35298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34545,7 +35315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -34614,7 +35384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -34677,7 +35447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34728,7 +35498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34745,7 +35515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -34814,7 +35584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -34877,7 +35647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -34928,7 +35698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -34945,7 +35715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -35014,7 +35784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -35077,7 +35847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35128,7 +35898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35145,7 +35915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -35214,7 +35984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -35277,7 +36047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35328,7 +36098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35345,7 +36115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -35414,7 +36184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -35477,7 +36247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35528,7 +36298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35545,7 +36315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -35614,7 +36384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -35677,7 +36447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35728,7 +36498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35745,7 +36515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -35814,7 +36584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -35877,7 +36647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -35928,7 +36698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -35945,7 +36715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -36014,7 +36784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -36077,7 +36847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36128,7 +36898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36145,7 +36915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -36214,7 +36984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -36277,7 +37047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36328,7 +37098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36345,7 +37115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -36414,7 +37184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -36477,7 +37247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36528,7 +37298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36545,7 +37315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -36614,7 +37384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -36677,7 +37447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36728,7 +37498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36745,7 +37515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -36814,7 +37584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -36877,7 +37647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -36928,7 +37698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -36945,7 +37715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -37014,7 +37784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -37077,7 +37847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37128,7 +37898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37145,7 +37915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -37214,7 +37984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -37277,7 +38047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37328,7 +38098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37345,7 +38115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -37414,7 +38184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -37477,7 +38247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37528,7 +38298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37545,7 +38315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -37614,7 +38384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -37677,7 +38447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37728,7 +38498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37745,7 +38515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -37814,7 +38584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -37877,7 +38647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -37928,7 +38698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -37945,7 +38715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -38014,7 +38784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -38077,7 +38847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38128,7 +38898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38145,7 +38915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -38214,7 +38984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -38277,7 +39047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38328,7 +39098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38345,7 +39115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -38414,7 +39184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -38477,7 +39247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38528,7 +39298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38545,7 +39315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -38614,7 +39384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -38677,7 +39447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38728,7 +39498,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38745,7 +39515,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -38814,7 +39584,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -38877,7 +39647,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -38928,7 +39698,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -38945,7 +39715,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -39014,7 +39784,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -39077,7 +39847,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39128,7 +39898,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39145,7 +39915,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -39214,7 +39984,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -39277,7 +40047,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39328,7 +40098,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39345,7 +40115,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -39414,7 +40184,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -39477,7 +40247,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU @@ -39528,7 +40298,7 @@ software, except to the extent those have different terms. If you comply with these license terms, you have the rights below. -1.    INSTALLATION AND USE RIGHTS. +1.    INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to develop and test your applications.  @@ -39545,7 +40315,7 @@ CODE.  The software is comprised of Distributable Code. �Distributable Code� is code that you are permitted to distribute in applications you develop if you comply with the terms below. -i.      Right to Use and Distribute. +i.      Right to Use and Distribute. �        You may copy and distribute the object code form of the software. �        @@ -39614,7 +40384,7 @@ governing use of certain open source components that may be included in the software; �        remove, minimize, block or modify -any notices of Microsoft or its suppliers in the software; +any notices of Microsoft or its suppliers in the software; �        use the software in any way that is against the law; or @@ -39677,7 +40447,7 @@ Microsoft will not be liable for slight negligence OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NON-INFRINGEMENT. +NON-INFRINGEMENT. 12. Limitation on and Exclusion of Remedies and Damages. YOU diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 1810e2869..5e3765fe8 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -31,8 +31,8 @@ </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.11" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.16" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.18" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> </ItemGroup> <ItemGroup> diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 4a04855a4..2361cdea7 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -34,7 +34,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json index b4b7a001c..36d70057c 100644 --- a/src/Api/Test/packages.lock.json +++ b/src/Api/Test/packages.lock.json @@ -18,13 +18,14 @@ "Microsoft.TestPlatform.TestHost": "17.4.0" } }, - "System.IO.Abstractions.TestingHelpers": { + "TestableIO.System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", "dependencies": { - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "xRetry": { @@ -63,15 +64,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -148,19 +149,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -194,8 +195,8 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" }, "Microsoft.Extensions.Options": { "type": "Transitive", @@ -259,39 +260,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -347,8 +350,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "NuGet.Frameworks": { "type": "Transitive", @@ -603,11 +606,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1219,6 +1217,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1270,16 +1281,16 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 725b8e793..dd82ee3ed 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -22,32 +22,34 @@ }, "Monai.Deploy.Messaging": { "type": "Direct", - "requested": "[0.1.16, )", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "requested": "[0.1.18, )", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.10, )", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "requested": "[0.2.11, )", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Ardalis.GuardClauses": { @@ -60,15 +62,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -130,19 +132,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -176,8 +178,8 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" }, "Microsoft.Extensions.Options": { "type": "Transitive", @@ -208,17 +210,17 @@ }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "System.Buffers": { "type": "Transitive", @@ -238,11 +240,6 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -276,13 +273,26 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index 9e39fafa6..ba471893b 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -60,6 +60,6 @@ <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.CommandLine.Rendering" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> </ItemGroup> </Project> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index 53f43febb..dceb10547 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,7 +36,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json index a269e7e27..45bcb96f8 100644 --- a/src/CLI/Test/packages.lock.json +++ b/src/CLI/Test/packages.lock.json @@ -38,13 +38,14 @@ "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1" } }, - "System.IO.Abstractions.TestingHelpers": { + "TestableIO.System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", "dependencies": { - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "xRetry": { @@ -83,15 +84,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -266,19 +267,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -366,8 +367,8 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", @@ -507,39 +508,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -595,8 +598,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -887,11 +890,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1505,6 +1503,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1564,7 +1575,7 @@ "System.CommandLine": "[2.0.0-beta4.22272.1, )", "System.CommandLine.Hosting": "[0.4.0-alpha.22272.1, )", "System.CommandLine.Rendering": "[0.4.0-alpha.22272.1, )", - "System.IO.Abstractions": "[17.2.3, )" + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.api": { @@ -1573,8 +1584,8 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1597,8 +1608,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } diff --git a/src/CLI/packages.lock.json b/src/CLI/packages.lock.json index 09ee1a763..c2891b304 100644 --- a/src/CLI/packages.lock.json +++ b/src/CLI/packages.lock.json @@ -108,11 +108,11 @@ "System.CommandLine": "2.0.0-beta4.22272.1" } }, - "System.IO.Abstractions": { + "TestableIO.System.IO.Abstractions": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -124,15 +124,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -279,19 +279,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -339,8 +339,8 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", @@ -449,39 +449,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -537,8 +539,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -1418,39 +1420,47 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index bf56bcf00..393cb847c 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -54,15 +54,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -166,6 +166,14 @@ "Newtonsoft.Json.Bson": "1.0.1" } }, + "Microsoft.AspNetCore.Authentication.JwtBearer": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "ivpWC8L84Y+l9VZOa0uJXPoUE+n3TiSRZpfKxMElRtLMYCeXmz5x3O7CuCJkZ65z1520RWuEZDmHefxiz5TqPg==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0" + } + }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "6.0.0", @@ -578,6 +586,47 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Logging": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==" + }, + "Microsoft.IdentityModel.Protocols": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.10.0", + "System.IdentityModel.Tokens.Jwt": "6.10.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.10.0", + "System.Security.Cryptography.Cng": "4.5.0" + } + }, "Microsoft.Net.Http.Headers": { "type": "Transitive", "resolved": "2.2.8", @@ -650,64 +699,80 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "resolved": "0.1.18", + "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Messaging": "0.1.18", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" } }, + "Monai.Deploy.Security": { + "type": "Transitive", + "resolved": "0.1.1", + "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Logging.Configuration": "6.0.0" + } + }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.MinIO": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "resolved": "0.2.11", + "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.S3Policy": "0.2.10" + "Monai.Deploy.Storage": "0.2.11", + "Monai.Deploy.Storage.S3Policy": "0.2.11" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -759,8 +824,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -773,25 +838,25 @@ }, "NLog": { "type": "Transitive", - "resolved": "5.0.5", - "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + "resolved": "5.1.0", + "contentHash": "oW7ekrkRG9okpDMUcEglunWj8Qf2RY8qkgl+/chJoavzg3dbT13y32t19R54FKkmq80fKzw4ZekZkCrRGanKgQ==" }, "NLog.Extensions.Logging": { "type": "Transitive", - "resolved": "5.1.0", - "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "resolved": "5.2.0", + "contentHash": "wzVFG5p8Nwbs1Ws29T8YJg+UbJfsh61h6U4xArnDSrtVvOoccwKtoFPZWwbym3ZTiTFmHIf7Ugu1j/WnT7z3vg==", "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", "Microsoft.Extensions.Logging": "6.0.0", - "NLog": "5.0.5" + "NLog": "5.1.0" } }, "NLog.Web.AspNetCore": { "type": "Transitive", - "resolved": "5.1.5", - "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "resolved": "5.2.0", + "contentHash": "DqFgdydAWW+pshPdzh0ydk2jJrrVaZmBNz5+p9K8N9q/4BOPJ94S2fD8t9erd7ZMhnigaqOq/HqZH4nGGOYTbA==", "dependencies": { - "NLog.Extensions.Logging": "5.1.0" + "NLog.Extensions.Logging": "5.2.0" } }, "NuGet.Frameworks": { @@ -1096,6 +1161,15 @@ "System.Runtime.InteropServices": "4.3.0" } }, + "System.IdentityModel.Tokens.Jwt": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, "System.IO": { "type": "Transitive", "resolved": "4.3.0", @@ -1108,11 +1182,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1348,21 +1417,8 @@ }, "System.Security.Cryptography.Cng": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "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" - } + "resolved": "4.5.0", + "contentHash": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==" }, "System.Security.Cryptography.Csp": { "type": "Transitive", @@ -1548,6 +1604,19 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1618,11 +1687,12 @@ "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "Monai.Deploy.Storage.MinIO": "[0.2.10, )", - "NLog": "[5.0.5, )", - "NLog.Web.AspNetCore": "[5.1.5, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", + "Monai.Deploy.Security": "[0.1.1, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "NLog": "[5.1.0, )", + "NLog.Web.AspNetCore": "[5.2.0, )", "Polly": "[7.2.3, )", "Swashbuckle.AspNetCore": "[6.4.0, )", "fo-dicom": "[5.0.3, )", @@ -1635,8 +1705,8 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1659,8 +1729,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1671,9 +1741,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "System.IO.Abstractions": "[17.2.3, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database": { diff --git a/src/Client/packages.lock.json b/src/Client/packages.lock.json index 5d93fec3e..768b08aad 100644 --- a/src/Client/packages.lock.json +++ b/src/Client/packages.lock.json @@ -40,15 +40,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -120,19 +120,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -166,8 +166,8 @@ }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "pwXCZKaA7m5wgmCj49dW+H1RPSY7U62SKLTQYCcavf/k3Nyt/WnBgAjG4jMGnwy9rElfAZ2KvxvM5CJzJWG0hg==" + "resolved": "6.0.3", + "contentHash": "SUpStcdjeBbdKjPKe53hVVLkFjylX0yIXY8K+xWa47+o1d+REDyOMZjHZa+chsQI1K9qZeiHWk9jos0TFU7vGg==" }, "Microsoft.Extensions.Options": { "type": "Transitive", @@ -213,39 +213,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -301,8 +303,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -561,11 +563,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1179,30 +1176,43 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index 4a74ecd74..03ec144a0 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -33,7 +33,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> <PackageReference Include="System.Threading.Tasks.Dataflow" Version="6.0.0" /> </ItemGroup> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 9ee1c5396..647380146 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,7 +31,10 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.Extensions" Version="1.0.34" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.Wrappers" Version="18.0.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json index 344149879..acdb54485 100644 --- a/src/Common/Test/packages.lock.json +++ b/src/Common/Test/packages.lock.json @@ -27,13 +27,38 @@ "Castle.Core": "5.1.0" } }, - "System.IO.Abstractions.TestingHelpers": { + "TestableIO.System.IO.Abstractions": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Extensions": { + "type": "Direct", + "requested": "[1.0.34, )", + "resolved": "1.0.34", + "contentHash": "pH97COy/Ajoof+fa2Bffgbp+G+R3143DP7Ynocx9pd5JYQSoPHA1GfGlky+vm4NjfCXtGw0yb6Vuf4t1XcqhGw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "17.2.26" + } + }, + "TestableIO.System.IO.Abstractions.TestingHelpers": { + "type": "Direct", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", "dependencies": { - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + } + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Direct", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" } }, "xunit": { @@ -493,11 +518,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1163,8 +1183,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } diff --git a/src/Common/packages.lock.json b/src/Common/packages.lock.json index 9a2b36402..da7b5522c 100644 --- a/src/Common/packages.lock.json +++ b/src/Common/packages.lock.json @@ -34,18 +34,18 @@ "resolved": "5.11.1", "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" }, - "System.IO.Abstractions": { - "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Threading.Tasks.Dataflow": { "type": "Direct", "requested": "[6.0.0, )", "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Direct", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, "JetBrains.Annotations": { "type": "Transitive", "resolved": "2021.3.0", diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index 8b9dacb3c..b78334926 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,9 +31,9 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.3" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.16" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> - <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.18" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> + <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> </ItemGroup> <ItemGroup> diff --git a/src/Configuration/Test/ConfigurationValidatorTest.cs b/src/Configuration/Test/ConfigurationValidatorTest.cs index 93c39996e..58f681164 100644 --- a/src/Configuration/Test/ConfigurationValidatorTest.cs +++ b/src/Configuration/Test/ConfigurationValidatorTest.cs @@ -17,6 +17,7 @@ using System; using System.IO; using System.IO.Abstractions; +using System.IO.Abstractions.TestingHelpers; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Monai.Deploy.InformaticsGateway.SharedTest; @@ -28,21 +29,19 @@ namespace Monai.Deploy.InformaticsGateway.Configuration.Test public class ConfigurationValidatorTest { private readonly Mock<ILogger<ConfigurationValidator>> _logger; - private readonly Mock<IFileSystem> _fileSystem; + private readonly IFileSystem _fileSystem; public ConfigurationValidatorTest() { _logger = new Mock<ILogger<ConfigurationValidator>>(); - _fileSystem = new Mock<IFileSystem>(); - _fileSystem.Setup(p => p.Directory.Exists(It.IsAny<string>())).Returns(true); - _fileSystem.Setup(p => p.File.Create(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<FileOptions>())).Returns(FileStream.Null); + _fileSystem = new MockFileSystem(); } [Fact(DisplayName = "ConfigurationValidator test with all valid settings")] public void AllValid() { var config = MockValidConfiguration(); - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); Assert.True(valid == ValidateOptionsResult.Success); } @@ -52,7 +51,7 @@ public void InvalidScpPort() var config = MockValidConfiguration(); config.Dicom.Scp.Port = Int32.MaxValue; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessage = $"Invalid port number '{Int32.MaxValue}' specified for InformaticsGateway>dicom>scp>port."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -65,7 +64,7 @@ public void InvalidScpMaxAssociations() var config = MockValidConfiguration(); config.Dicom.Scp.MaximumNumberOfAssociations = 0; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessage = $"Value of InformaticsGateway>dicom>scp>max-associations must be between {1} and {1000}."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -78,7 +77,7 @@ public void StorageWithInvalidWatermark() var config = MockValidConfiguration(); config.Storage.Watermark = 1000; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>watermark must be between 1 and 100."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -91,7 +90,7 @@ public void StorageWithInvalidReservedSpace() var config = MockValidConfiguration(); config.Storage.ReserveSpaceGB = 9999; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessage = "Value of InformaticsGateway>storage>reserveSpaceGB must be between 1 and 999."; Assert.Equal(validationMessage, valid.FailureMessage); @@ -104,7 +103,7 @@ public void StorageWithInvalidTemporaryBucketName() var config = MockValidConfiguration(); config.Storage.TemporaryStorageBucket = " "; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>temporaryBucketName is required.", "Value for InformaticsGateway>storage>temporaryBucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -120,7 +119,7 @@ public void StorageWithInvalidBucketName() var config = MockValidConfiguration(); config.Storage.StorageServiceBucketName = ""; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, _fileSystem).Validate("", config); var validationMessages = new[] { "Value for InformaticsGateway>storage>bucketName is required.", "Value for InformaticsGateway>storage>bucketName does not conform to Amazon S3 bucket naming requirements." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); @@ -133,13 +132,15 @@ public void StorageWithInvalidBucketName() [Fact(DisplayName = "ConfigurationValidator test with inaccessible directory")] public void StorageWithInaccessbleDirectory() { - _fileSystem.Setup(p => p.File.Create(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<FileOptions>())).Throws(new UnauthorizedAccessException("error")); + var fileSystem = new Mock<IFileSystem>(); + fileSystem.Setup(p => p.Directory.Exists(It.IsAny<string>())).Returns(true); + fileSystem.Setup(p => p.File.Create(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<FileOptions>())).Throws(new UnauthorizedAccessException("error")); var config = MockValidConfiguration(); config.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Disk; config.Storage.LocalTemporaryStoragePath = "/blabla"; - var valid = new ConfigurationValidator(_logger.Object, _fileSystem.Object).Validate("", config); + var valid = new ConfigurationValidator(_logger.Object, fileSystem.Object).Validate("", config); var validationMessages = new[] { $"Directory `/blabla` specified in `InformaticsGateway>storage>localTemporaryStoragePath` is not accessible: error." }; Assert.Equal(string.Join(Environment.NewLine, validationMessages), valid.FailureMessage); diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index 7b5aecc82..a360a11ba 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,7 +36,7 @@ </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json index 4d3e1e972..5c116f734 100644 --- a/src/Configuration/Test/packages.lock.json +++ b/src/Configuration/Test/packages.lock.json @@ -27,13 +27,14 @@ "Castle.Core": "5.1.0" } }, - "System.IO.Abstractions.TestingHelpers": { + "TestableIO.System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", "dependencies": { - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "xunit": { @@ -63,15 +64,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -156,19 +157,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -267,39 +268,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -355,8 +358,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "NuGet.Frameworks": { "type": "Transitive", @@ -616,11 +619,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1232,6 +1230,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1283,16 +1294,16 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1303,9 +1314,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "System.IO.Abstractions": "[17.2.3, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } } } diff --git a/src/Configuration/packages.lock.json b/src/Configuration/packages.lock.json index 45db310bc..025aa5d25 100644 --- a/src/Configuration/packages.lock.json +++ b/src/Configuration/packages.lock.json @@ -26,39 +26,41 @@ }, "Monai.Deploy.Messaging": { "type": "Direct", - "requested": "[0.1.16, )", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "requested": "[0.1.18, )", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.10, )", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "requested": "[0.2.11, )", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, - "System.IO.Abstractions": { + "TestableIO.System.IO.Abstractions": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -70,15 +72,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -150,19 +152,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -214,17 +216,17 @@ }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "System.Buffers": { "type": "Transitive", @@ -277,23 +279,31 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json index e98c59b8a..b33541ee9 100644 --- a/src/Database/Api/Test/packages.lock.json +++ b/src/Database/Api/Test/packages.lock.json @@ -45,15 +45,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -169,19 +169,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -280,39 +280,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -368,8 +370,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "NuGet.Frameworks": { "type": "Transitive", @@ -637,11 +639,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1253,6 +1250,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1304,16 +1314,16 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1324,9 +1334,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "System.IO.Abstractions": "[17.2.3, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { diff --git a/src/Database/Api/packages.lock.json b/src/Database/Api/packages.lock.json index 1b8af4b28..24786eae0 100644 --- a/src/Database/Api/packages.lock.json +++ b/src/Database/Api/packages.lock.json @@ -33,15 +33,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -138,19 +138,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -216,45 +216,47 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "System.Buffers": { "type": "Transitive", @@ -282,11 +284,6 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -320,35 +317,48 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } } } diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json index 3605f672c..92e165006 100644 --- a/src/Database/EntityFramework/Test/packages.lock.json +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -63,15 +63,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -267,19 +267,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -393,39 +393,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "NETStandard.Library": { @@ -481,8 +483,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "NuGet.Frameworks": { "type": "Transitive", @@ -786,11 +788,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1414,6 +1411,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1465,16 +1475,16 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1485,9 +1495,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "System.IO.Abstractions": "[17.2.3, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { diff --git a/src/Database/EntityFramework/packages.lock.json b/src/Database/EntityFramework/packages.lock.json index ffc351e68..d21182583 100644 --- a/src/Database/EntityFramework/packages.lock.json +++ b/src/Database/EntityFramework/packages.lock.json @@ -83,15 +83,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "fo-dicom": { @@ -223,19 +223,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -316,45 +316,47 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Polly": { "type": "Transitive", @@ -418,11 +420,6 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -468,44 +465,57 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } } } diff --git a/src/Database/MongoDB/Integration.Test/packages.lock.json b/src/Database/MongoDB/Integration.Test/packages.lock.json index e5dc83b40..95451f77e 100644 --- a/src/Database/MongoDB/Integration.Test/packages.lock.json +++ b/src/Database/MongoDB/Integration.Test/packages.lock.json @@ -63,15 +63,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -203,19 +203,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -323,39 +323,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -450,8 +452,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "NuGet.Frameworks": { "type": "Transitive", @@ -742,11 +744,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1377,6 +1374,19 @@ "System.Xml.ReaderWriter": "4.3.0" } }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1430,49 +1440,49 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } } } diff --git a/src/Database/MongoDB/packages.lock.json b/src/Database/MongoDB/packages.lock.json index 01d290d3d..752c0e809 100644 --- a/src/Database/MongoDB/packages.lock.json +++ b/src/Database/MongoDB/packages.lock.json @@ -40,15 +40,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "DnsClient": { @@ -167,19 +167,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -254,39 +254,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -304,8 +306,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Polly": { "type": "Transitive", @@ -348,11 +350,6 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -400,6 +397,19 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -408,41 +418,41 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } } } diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json index 67a78a02e..df40b400b 100644 --- a/src/Database/packages.lock.json +++ b/src/Database/packages.lock.json @@ -82,15 +82,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "DnsClient": { @@ -242,19 +242,19 @@ }, "Microsoft.Extensions.Diagnostics.HealthChecks": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "YmTyFOc7xx2/9FKuAlCmcWYKYLr0bYgNrRlcNPy/vc8qXnxnRV+kua6z96RUXSJVSQadCbJcEjmnTUMTEVfXOQ==", + "resolved": "6.0.11", + "contentHash": "E6HxKQvrm0AeDagW6w+CsyVfXAO/pscrbX6mQ+XnThdwkeTxi0cnuXDTiTmd+WSmofSfpBKOS0VlvHUOxskdLQ==", "dependencies": { - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11", "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.2", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", "Microsoft.Extensions.Options": "6.0.0" } }, "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": { "type": "Transitive", - "resolved": "6.0.10", - "contentHash": "U1PO967am1BIWbxBiLcYzVx8KOTYa9NvhBNgTn8Oii3LcsjvIwHzM+GTYy6bTiHnAFAlK5HAjxusAnAHSHJRoA==" + "resolved": "6.0.11", + "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", @@ -344,39 +344,41 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -420,8 +422,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Polly": { "type": "Transitive", @@ -495,11 +497,6 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -559,6 +556,19 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -567,62 +577,62 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } } } diff --git a/src/DicomWebClient/CLI/packages.lock.json b/src/DicomWebClient/CLI/packages.lock.json index a7d23637f..dcd37d8e5 100644 --- a/src/DicomWebClient/CLI/packages.lock.json +++ b/src/DicomWebClient/CLI/packages.lock.json @@ -1474,20 +1474,20 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/DicomWebClient/packages.lock.json b/src/DicomWebClient/packages.lock.json index 714d952dd..4650e1b92 100644 --- a/src/DicomWebClient/packages.lock.json +++ b/src/DicomWebClient/packages.lock.json @@ -1254,8 +1254,8 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } } } diff --git a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs index 2ce8b8f0c..a882e9835 100644 --- a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs +++ b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs @@ -54,7 +54,7 @@ public static async Task SetDataStreams( await dicomFile.SaveAsync(dicomFileStorageMetadata.File.Data).ConfigureAwait(false); dicomFileStorageMetadata.File.Data.Seek(0, System.IO.SeekOrigin.Begin); - await SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson, storageLocation, fileSystem, temporaryStoragePath); + await SetTextStream(dicomFileStorageMetadata.JsonFile, dicomJson, storageLocation, fileSystem, temporaryStoragePath).ConfigureAwait(false); } public static async Task SetDataStream( @@ -63,7 +63,7 @@ public static async Task SetDataStream( TemporaryDataStorageLocation storageLocation, IFileSystem fileSystem = null, string temporaryStoragePath = "") - => await SetTextStream(fhirFileStorageMetadata.File, json, storageLocation, fileSystem, temporaryStoragePath); + => await SetTextStream(fhirFileStorageMetadata.File, json, storageLocation, fileSystem, temporaryStoragePath).ConfigureAwait(false); public static async Task SetDataStream( this Hl7FileStorageMetadata hl7FileStorageMetadata, @@ -71,7 +71,7 @@ public static async Task SetDataStream( TemporaryDataStorageLocation storageLocation, IFileSystem fileSystem = null, string temporaryStoragePath = "") - => await SetTextStream(hl7FileStorageMetadata.File, message, storageLocation, fileSystem, temporaryStoragePath); + => await SetTextStream(hl7FileStorageMetadata.File, message, storageLocation, fileSystem, temporaryStoragePath).ConfigureAwait(false); private static async Task SetTextStream( StorageObjectMetadata storageObjectMetadata, @@ -91,7 +91,7 @@ private static async Task SetTextStream( var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{fileSystem.Path.GetRandomFileName()}"); var stream = fileSystem.File.Create(tempFile); var data = Encoding.UTF8.GetBytes(message); - await stream.WriteAsync(data, 0, data.Length); + await stream.WriteAsync(data, 0, data.Length).ConfigureAwait(false); storageObjectMetadata.Data = stream; break; default: diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 3557200d6..8ac30658a 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,6 +26,7 @@ <LangVersion>latest</LangVersion> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + <UserSecretsId>be0fffc8-bebb-4509-a2c0-3c981e5415ab</UserSecretsId> </PropertyGroup> <ItemGroup> @@ -49,11 +50,12 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.16" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.10" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> - <PackageReference Include="NLog.Web.AspNetCore" Version="5.1.5" /> - <PackageReference Include="NLog" Version="5.0.5" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.18" /> + <PackageReference Include="Monai.Deploy.Security" Version="0.1.1" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.11" /> + <PackageReference Include="NLog.Web.AspNetCore" Version="5.2.0" /> + <PackageReference Include="NLog" Version="5.1.0" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> </ItemGroup> diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 3f5095a56..d2c37df1d 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -29,8 +29,6 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Database; -using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.InformaticsGateway.Services.Connectors; @@ -44,6 +42,7 @@ using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.Messaging; using Monai.Deploy.Messaging.Configuration; +using Monai.Deploy.Security.Authentication.Configurations; using Monai.Deploy.Storage; using Monai.Deploy.Storage.Configuration; using NLog; @@ -95,13 +94,10 @@ internal static IHostBuilder CreateHostBuilder(string[] args) => }) .ConfigureServices((hostContext, services) => { - services.AddOptions<InformaticsGatewayConfiguration>() - .Bind(hostContext.Configuration.GetSection("InformaticsGateway")); - services.AddOptions<MessageBrokerServiceConfiguration>() - .Bind(hostContext.Configuration.GetSection("InformaticsGateway:messaging")); - services.AddOptions<StorageServiceConfiguration>() - .Bind(hostContext.Configuration.GetSection("InformaticsGateway:storage")); - + services.AddOptions<InformaticsGatewayConfiguration>().Bind(hostContext.Configuration.GetSection("InformaticsGateway")); + services.AddOptions<MessageBrokerServiceConfiguration>().Bind(hostContext.Configuration.GetSection("InformaticsGateway:messaging")); + services.AddOptions<StorageServiceConfiguration>().Bind(hostContext.Configuration.GetSection("InformaticsGateway:storage")); + services.AddOptions<AuthenticationOptions>().Bind(hostContext.Configuration.GetSection("MonaiDeployAuthentication")); services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<InformaticsGatewayConfiguration>, ConfigurationValidator>()); services.ConfigureDatabase(hostContext.Configuration?.GetSection("ConnectionStrings")); diff --git a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs index fd08201c3..74de2b12d 100644 --- a/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs +++ b/src/InformaticsGateway/Services/Connectors/PayloadMoveActionHandler.cs @@ -182,9 +182,9 @@ await _storageService.CopyObjectAsync( file.GetPayloadPath(payloadId), cancellationToken).ConfigureAwait(false); - var results = await _storageService.VerifyObjectExistsAsync(_options.Value.Storage.StorageServiceBucketName, new System.Collections.Generic.KeyValuePair<string, string>(file.UploadPath, file.GetPayloadPath(payloadId))).ConfigureAwait(false); + var exists = await _storageService.VerifyObjectExistsAsync(_options.Value.Storage.StorageServiceBucketName, file.GetPayloadPath(payloadId), cancellationToken).ConfigureAwait(false); - if (!results.Key.Equals(file.UploadPath, StringComparison.OrdinalIgnoreCase)) + if (!exists) { _logger.FileMovedVerificationFailure(payloadId, file.UploadPath); throw new PayloadNotifyException(PayloadNotifyException.FailureReason.MoveFailure); diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index a510d91d8..e80f53c94 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -30,6 +30,7 @@ using Microsoft.OpenApi.Models; using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Services.Fhir; +using Monai.Deploy.Security.Authentication.Extensions; namespace Monai.Deploy.InformaticsGateway.Services.Http { @@ -106,6 +107,8 @@ public void ConfigureServices(IServiceCollection services) }; }); + services.AddMonaiAuthentication(); + services.AddHealthChecks() .AddCheck<MonaiHealthCheck>("Informatics Gateway Services") .AddDbContextCheck<InformaticsGatewayContext>("Database"); @@ -123,7 +126,6 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "MONAI Deploy Informatics Gateway v1")); } - app.UseRouting(); app.UseHealthChecks("/health", new Microsoft.AspNetCore.Diagnostics.HealthChecks.HealthCheckOptions { ResponseWriter = async (context, report) => @@ -139,13 +141,20 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) }); context.Response.ContentType = MediaTypeNames.Application.Json; - await context.Response.WriteAsync(result); + await context.Response.WriteAsync(result).ConfigureAwait(false); } }); + app.UseRouting(); + app.UseAuthentication(); + app.UseAuthorization(); + app.UseEndpointAuthorizationMiddleware(); + app.UseHttpLogging(); + app.UseEndpoints(endpoints => { - endpoints.MapControllers(); + endpoints.MapHealthChecks("/health").AllowAnonymous(); + endpoints.MapControllers().RequireAuthorization(); }); } } diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index fd1466acf..1e55ef6b7 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -201,11 +201,8 @@ private async Task<bool> VerifyExists(string path) { try { - var result = await _storageService.VerifyObjectExistsAsync( - _configuration.Value.Storage.TemporaryStorageBucket, - new KeyValuePair<string, string>(path, path)).ConfigureAwait(false); + var exists = await _storageService.VerifyObjectExistsAsync(_configuration.Value.Storage.TemporaryStorageBucket, path).ConfigureAwait(false); - var exists = result.Key.Equals(path, StringComparison.OrdinalIgnoreCase); _logger.VerifyFileExists(path, exists); return exists; } diff --git a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs index a572279f4..b4eb11f98 100644 --- a/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs +++ b/src/InformaticsGateway/Test/Common/DicomFileStorageMetadataExtensionsTest.cs @@ -25,6 +25,7 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.SharedTest; +using MongoDB.Bson; using Xunit; namespace Monai.Deploy.InformaticsGateway.Test.Common @@ -81,9 +82,15 @@ public async Task GivenADicomFileStorageMetadata_WhenSetDataStreamsIsCalledWithD var ms = new MemoryStream(); await dicom.SaveAsync(ms).ConfigureAwait(false); - Assert.Equal(ms.ToArray(), (metadata.File.Data as MemoryStream).ToArray()); + using var temporaryDataAsMemoryStream = new MemoryStream(); + metadata.File.Data.CopyTo(temporaryDataAsMemoryStream); - var jsonFromStream = Encoding.UTF8.GetString((metadata.JsonFile.Data as MemoryStream).ToArray()); + Assert.Equal(ms.ToArray(), temporaryDataAsMemoryStream.ToArray()); + + using var temporaryJsonDataAsMemoryStream = new MemoryStream(); + metadata.JsonFile.Data.CopyTo(temporaryJsonDataAsMemoryStream); + + var jsonFromStream = Encoding.UTF8.GetString(temporaryJsonDataAsMemoryStream.ToArray()); Assert.Equal(json.Trim(), jsonFromStream.Trim()); var dicomFileFromJson = DicomJson.ConvertJsonToDicom(json); diff --git a/src/InformaticsGateway/Test/DummyStorageService.cs b/src/InformaticsGateway/Test/DummyStorageService.cs index cc386965e..152c5dea8 100644 --- a/src/InformaticsGateway/Test/DummyStorageService.cs +++ b/src/InformaticsGateway/Test/DummyStorageService.cs @@ -35,6 +35,7 @@ internal class DummyStorageRegistrar : ServiceRegistrationBase internal class DummyStorageHealthCheck : HealthCheckRegistrationBase { public override IHealthChecksBuilder ConfigureAdminHealthCheck(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; + public override IHealthChecksBuilder ConfigureHealthCheck(IHealthChecksBuilder builder, HealthStatus? failureStatus = null, IEnumerable<string> tags = null, TimeSpan? timeout = null) => builder; } @@ -72,8 +73,8 @@ internal class DummyStorageService : IStorageService public Task RemoveObjectWithCredentialsAsync(string bucketName, string objectName, Credentials credentials, CancellationToken cancellationToken = default) => throw new NotImplementedException(); - public Task<KeyValuePair<string, string>> VerifyObjectExistsAsync(string bucketName, KeyValuePair<string, string> objectPair) => throw new NotImplementedException(); + public Task<bool> VerifyObjectExistsAsync(string bucketName, string artifactName, CancellationToken cancellationToken = default) => throw new NotImplementedException(); - public Task<Dictionary<string, string>> VerifyObjectsExistAsync(string bucketName, Dictionary<string, string> objectDict) => throw new NotImplementedException(); + public Task<Dictionary<string, bool>> VerifyObjectsExistAsync(string bucketName, IReadOnlyList<string> artifactList, CancellationToken cancellationToken = default) => throw new NotImplementedException(); } } diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 726531cb2..795df0133 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -39,7 +39,7 @@ <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> + <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs index a0e2ea4b9..748229209 100644 --- a/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Connectors/PayloadMoveActionHandlerTest.cs @@ -69,8 +69,7 @@ public PayloadMoveActionHandlerTest() _options.Value.Storage.Retries.DelaysMilliseconds = new[] { 5, 5, 5 }; _options.Value.Storage.StorageServiceBucketName = "bucket"; - _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<KeyValuePair<string, string>>())) - .Returns((string _, KeyValuePair<string, string> input) => Task.FromResult(input)); + _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); } [RetryFact(10, 200)] diff --git a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs index bdaaf3934..6671a082a 100644 --- a/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/HealthLevel7/MllpServiceTest.cs @@ -16,7 +16,6 @@ using System; using System.Collections.Generic; -using System.IO; using System.IO.Abstractions; using System.Net; using System.Threading; @@ -89,13 +88,11 @@ public MllpServiceTest() _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); - _fileSystem.Setup(p => p.Path.Combine(It.IsAny<string>(), It.IsAny<string>())).Returns((string path1, string path2) => System.IO.Path.Combine(path1, path2)); - _fileSystem.Setup(p => p.File.Create(It.IsAny<string>())).Returns(FileStream.Null); - _loggerFactory.Setup(p => p.CreateLogger(It.IsAny<string>())).Returns(_logger.Object); _tcpListenerFactory.Setup(p => p.CreateTcpListener(It.IsAny<IPAddress>(), It.IsAny<int>())).Returns(_tcpListener.Object); _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(true); + _options.Value.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Memory; } [RetryFact(10, 250)] @@ -178,7 +175,7 @@ public void GivenTcpConnections_WhenConnectsAndDisconnectsFromMllpService_Expect Assert.Equal(0, service.ActiveConnections); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public void GivenAMllpService_WhenMaximumConnectionLimitIsConfigure_ExpectTheServiceToAbideByTheLimit() { var checkEvent = new CountdownEvent(_options.Value.Hl7.MaximumNumberOfConnections); @@ -211,7 +208,7 @@ public void GivenAMllpService_WhenMaximumConnectionLimitIsConfigure_ExpectTheSer _logger.VerifyLoggingMessageBeginsWith($"Maximum number {_options.Value.Hl7.MaximumNumberOfConnections} of clients reached.", LogLevel.Information, Times.AtLeastOnce()); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDisposeResources() { var checkEvent = new ManualResetEventSlim(); @@ -248,7 +245,7 @@ public async Task GivenConnectedTcpClients_WhenDisconnects_ExpectServiceToDispos client.Verify(p => p.Dispose(), Times.Exactly(callCount)); } - [RetryFact(10,250)] + [RetryFact(10, 250)] public async Task GivenATcpClientWithHl7Messages_WhenStorageSpaceIsLow_ExpectToDisconnect() { _storageInfoProvider.Setup(p => p.HasSpaceAvailableToStore).Returns(false); diff --git a/src/InformaticsGateway/Test/Services/Http/StartupTest.cs b/src/InformaticsGateway/Test/Services/Http/StartupTest.cs index 6103c51a6..f9534c2ff 100644 --- a/src/InformaticsGateway/Test/Services/Http/StartupTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/StartupTest.cs @@ -16,7 +16,9 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; using Monai.Deploy.InformaticsGateway.Services.Http; +using Monai.Deploy.Security.Authentication.Configurations; using Xunit; namespace Monai.Deploy.InformaticsGateway.Test.Services.Http @@ -28,6 +30,10 @@ public async Task Startup_WebHostBuildsProperly() { var webHost = Microsoft.AspNetCore.WebHost.CreateDefaultBuilder() .UseEnvironment("Development") + .ConfigureServices((hostContext, services) => + { + services.AddOptions<AuthenticationOptions>().Bind(hostContext.Configuration.GetSection("MonaiDeployAuthentication")); + }) .UseStartup<Startup>() .Build(); Assert.NotNull(webHost); diff --git a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs index 6edd2d50f..808726a3f 100644 --- a/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs +++ b/src/InformaticsGateway/Test/Services/Scp/ApplicationEntityHandlerTest.cs @@ -16,8 +16,8 @@ using System; using System.Collections.Generic; -using System.IO; using System.IO.Abstractions; +using System.IO.Abstractions.TestingHelpers; using System.Threading.Tasks; using FellowOakDicom; using FellowOakDicom.Network; @@ -46,7 +46,7 @@ public class ApplicationEntityHandlerTest private readonly Mock<IPayloadAssembler> _payloadAssembler; private readonly Mock<IObjectUploadQueue> _uploadQueue; private readonly IOptions<InformaticsGatewayConfiguration> _options; - private readonly Mock<IFileSystem> _fileSystem; + private readonly IFileSystem _fileSystem; private readonly IServiceProvider _serviceProvider; public ApplicationEntityHandlerTest() @@ -58,19 +58,18 @@ public ApplicationEntityHandlerTest() _payloadAssembler = new Mock<IPayloadAssembler>(); _uploadQueue = new Mock<IObjectUploadQueue>(); _options = Options.Create<InformaticsGatewayConfiguration>(new InformaticsGatewayConfiguration()); - _fileSystem = new Mock<IFileSystem>(); + _fileSystem = new MockFileSystem(); var services = new ServiceCollection(); services.AddScoped(p => _payloadAssembler.Object); services.AddScoped(p => _uploadQueue.Object); - services.AddScoped(p => _fileSystem.Object); + services.AddScoped(p => _fileSystem); _serviceProvider = services.BuildServiceProvider(); _serviceScopeFactory.Setup(p => p.CreateScope()).Returns(_serviceScope.Object); _serviceScope.Setup(p => p.ServiceProvider).Returns(_serviceProvider); - _fileSystem.Setup(p => p.Path.Combine(It.IsAny<string>(), It.IsAny<string>())).Returns((string path1, string path2) => System.IO.Path.Combine(path1, path2)); - _fileSystem.Setup(p => p.File.Create(It.IsAny<string>())).Returns(FileStream.Null); _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); + _options.Value.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Memory; } [RetryFact(5, 250)] diff --git a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs index 985c13058..7aa593aab 100644 --- a/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Storage/ObjectUploadServiceTest.cs @@ -27,7 +27,6 @@ using Monai.Deploy.InformaticsGateway.Api.Storage; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; -using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Storage; using Monai.Deploy.Storage.API; using Moq; @@ -71,8 +70,7 @@ public ObjectUploadServiceTest() _logger.Setup(p => p.IsEnabled(It.IsAny<LogLevel>())).Returns(true); _options.Value.Storage.TemporaryStorageBucket = "bucket"; - _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<KeyValuePair<string, string>>())) - .Returns((string _, KeyValuePair<string, string> input) => Task.FromResult(input)); + _storageService.Setup(p => p.VerifyObjectExistsAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<CancellationToken>())).ReturnsAsync(true); } [RetryFact(10, 250)] @@ -97,7 +95,6 @@ public void GivenAObjectUploadService_WhenStartAsyncIsCalled_ExpectServiceStatus public void GivenAObjectUploadService_WhenInitialized_ExpectItToRemovingAllPendingObjects() { var svc = new ObjectUploadService(_serviceScopeFactory.Object, _logger.Object, _options); - } [RetryFact(10, 250)] diff --git a/src/InformaticsGateway/Test/appsettings.json b/src/InformaticsGateway/Test/appsettings.json index c48c5da51..98a52ff80 100644 --- a/src/InformaticsGateway/Test/appsettings.json +++ b/src/InformaticsGateway/Test/appsettings.json @@ -1,4 +1,7 @@ { + "MonaiDeployAuthentication": { + "bypassAuthentication": true + }, "ConnectionStrings": { "Type": "Sqlite", "InformaticsGatewayDatabase": "Data Source=migdev.db" @@ -101,4 +104,4 @@ "InformaticsGatewayServerEndpoint": "http://localhost:5000", "DockerImagePrefix": "monai/informatics-gateway" } -} \ No newline at end of file +} diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index 7853cedeb..ee7bca9e8 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -60,13 +60,14 @@ "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" } }, - "System.IO.Abstractions.TestingHelpers": { + "TestableIO.System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[17.2.3, )", - "resolved": "17.2.3", - "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", + "requested": "[18.0.1, )", + "resolved": "18.0.1", + "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", "dependencies": { - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "xRetry": { @@ -105,15 +106,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Castle.Core": { @@ -237,6 +238,14 @@ "Microsoft.AspNetCore.Http.Extensions": "2.2.0" } }, + "Microsoft.AspNetCore.Authentication.JwtBearer": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "ivpWC8L84Y+l9VZOa0uJXPoUE+n3TiSRZpfKxMElRtLMYCeXmz5x3O7CuCJkZ65z1520RWuEZDmHefxiz5TqPg==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0" + } + }, "Microsoft.AspNetCore.Authorization": { "type": "Transitive", "resolved": "2.2.0", @@ -817,6 +826,47 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Logging": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==" + }, + "Microsoft.IdentityModel.Protocols": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.10.0", + "System.IdentityModel.Tokens.Jwt": "6.10.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.10.0", + "System.Security.Cryptography.Cng": "4.5.0" + } + }, "Microsoft.Net.Http.Headers": { "type": "Transitive", "resolved": "2.2.8", @@ -889,64 +939,80 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "resolved": "0.1.18", + "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Messaging": "0.1.18", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" } }, + "Monai.Deploy.Security": { + "type": "Transitive", + "resolved": "0.1.1", + "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Logging.Configuration": "6.0.0" + } + }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.MinIO": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "resolved": "0.2.11", + "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.S3Policy": "0.2.10" + "Monai.Deploy.Storage": "0.2.11", + "Monai.Deploy.Storage.S3Policy": "0.2.11" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -998,8 +1064,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -1012,25 +1078,25 @@ }, "NLog": { "type": "Transitive", - "resolved": "5.0.5", - "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + "resolved": "5.1.0", + "contentHash": "oW7ekrkRG9okpDMUcEglunWj8Qf2RY8qkgl+/chJoavzg3dbT13y32t19R54FKkmq80fKzw4ZekZkCrRGanKgQ==" }, "NLog.Extensions.Logging": { "type": "Transitive", - "resolved": "5.1.0", - "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "resolved": "5.2.0", + "contentHash": "wzVFG5p8Nwbs1Ws29T8YJg+UbJfsh61h6U4xArnDSrtVvOoccwKtoFPZWwbym3ZTiTFmHIf7Ugu1j/WnT7z3vg==", "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", "Microsoft.Extensions.Logging": "6.0.0", - "NLog": "5.0.5" + "NLog": "5.1.0" } }, "NLog.Web.AspNetCore": { "type": "Transitive", - "resolved": "5.1.5", - "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "resolved": "5.2.0", + "contentHash": "DqFgdydAWW+pshPdzh0ydk2jJrrVaZmBNz5+p9K8N9q/4BOPJ94S2fD8t9erd7ZMhnigaqOq/HqZH4nGGOYTbA==", "dependencies": { - "NLog.Extensions.Logging": "5.1.0" + "NLog.Extensions.Logging": "5.2.0" } }, "NuGet.Frameworks": { @@ -1324,6 +1390,15 @@ "System.Runtime.InteropServices": "4.3.0" } }, + "System.IdentityModel.Tokens.Jwt": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, "System.IO": { "type": "Transitive", "resolved": "4.3.0", @@ -1336,11 +1411,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1576,21 +1646,8 @@ }, "System.Security.Cryptography.Cng": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "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" - } + "resolved": "4.5.0", + "contentHash": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==" }, "System.Security.Cryptography.Csp": { "type": "Transitive", @@ -1776,6 +1833,19 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1829,127 +1899,128 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "DotNext.Threading": "4.7.4", - "HL7-dotnetcore": "2.29.0", - "Karambolo.Extensions.Logging.File": "3.3.1", - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Hosting": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", - "Monai.Deploy.Messaging.RabbitMQ": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.MinIO": "0.2.10", - "NLog": "5.0.5", - "NLog.Web.AspNetCore": "5.1.5", - "Polly": "7.2.3", - "Swashbuckle.AspNetCore": "6.4.0", - "fo-dicom": "5.0.3", - "fo-dicom.NLog": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "DotNext.Threading": "[4.7.4, )", + "HL7-dotnetcore": "[2.29.0, )", + "Karambolo.Extensions.Logging.File": "[3.3.1, )", + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Hosting": "[6.0.1, )", + "Microsoft.Extensions.Logging": "[6.0.0, )", + "Microsoft.Extensions.Logging.Console": "[6.0.0, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", + "Monai.Deploy.Security": "[0.1.1, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "NLog": "[5.1.0, )", + "NLog.Web.AspNetCore": "[5.2.0, )", + "Polly": "[7.2.3, )", + "Swashbuckle.AspNetCore": "[6.4.0, )", + "fo-dicom": "[5.0.3, )", + "fo-dicom.NLog": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/src/InformaticsGateway/appsettings.Development.json b/src/InformaticsGateway/appsettings.Development.json index 5d84172ad..813c733f2 100644 --- a/src/InformaticsGateway/appsettings.Development.json +++ b/src/InformaticsGateway/appsettings.Development.json @@ -1,4 +1,7 @@ { + "MonaiDeployAuthentication": { + "bypassAuthentication": true + }, "ConnectionStrings": { "InformaticsGatewayDatabase": "Data Source=migdev.db" }, diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index d8125499a..d4881ea92 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -1,4 +1,34 @@ { + "MonaiDeployAuthentication": { + "bypassAuthentication": false, + "openId": { + "realm": "http://localhost:8080/realms/monai-test/", + "realmKey": "993kdf2YXmv3itIvVOJX6zDT9o2nLxwW", + "clientId": "monai-app", + "audiences": [ "monai-app-test" ], + "roleClaimType": "roles", + "claimMappings": { + "userClaims": [ + { + "claimType": "roles", + "claimValues": [ "monai-deploy-user" ], + "endpoints": [ "Stow", "Fhir", "Inference" ] + }, + { + "claimType": "roles", + "claimValues": [ "pacs-admin" ], + "endpoints": [ "MonaiAeTitle", "SourceAeTitle", "DestinationAeTitle" ] + } + ], + "adminClaims": [ + { + "claimType": "roles", + "claimValues": [ "monai-role-admin" ] + } + ] + } + } + }, "ConnectionStrings": { "Type": "Sqlite", "InformaticsGatewayDatabase": "Data Source=/database/mig.db" diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json index d5a356c2d..44743118a 100644 --- a/src/InformaticsGateway/packages.lock.json +++ b/src/InformaticsGateway/packages.lock.json @@ -172,59 +172,75 @@ }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Direct", - "requested": "[0.1.16, )", - "resolved": "0.1.16", - "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "requested": "[0.1.18, )", + "resolved": "0.1.18", + "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Messaging": "0.1.18", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" } }, + "Monai.Deploy.Security": { + "type": "Direct", + "requested": "[0.1.1, )", + "resolved": "0.1.1", + "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Logging.Configuration": "6.0.0" + } + }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.10, )", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "requested": "[0.2.11, )", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.MinIO": { "type": "Direct", - "requested": "[0.2.10, )", - "resolved": "0.2.10", - "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "requested": "[0.2.11, )", + "resolved": "0.2.11", + "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.S3Policy": "0.2.10" + "Monai.Deploy.Storage": "0.2.11", + "Monai.Deploy.Storage.S3Policy": "0.2.11" } }, "NLog": { "type": "Direct", - "requested": "[5.0.5, )", - "resolved": "5.0.5", - "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + "requested": "[5.1.0, )", + "resolved": "5.1.0", + "contentHash": "oW7ekrkRG9okpDMUcEglunWj8Qf2RY8qkgl+/chJoavzg3dbT13y32t19R54FKkmq80fKzw4ZekZkCrRGanKgQ==" }, "NLog.Web.AspNetCore": { "type": "Direct", - "requested": "[5.1.5, )", - "resolved": "5.1.5", - "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "requested": "[5.2.0, )", + "resolved": "5.2.0", + "contentHash": "DqFgdydAWW+pshPdzh0ydk2jJrrVaZmBNz5+p9K8N9q/4BOPJ94S2fD8t9erd7ZMhnigaqOq/HqZH4nGGOYTbA==", "dependencies": { - "NLog.Extensions.Logging": "5.1.0" + "NLog.Extensions.Logging": "5.2.0" } }, "Polly": { @@ -247,15 +263,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "Crc32.NET": { @@ -301,6 +317,14 @@ "Newtonsoft.Json.Bson": "1.0.1" } }, + "Microsoft.AspNetCore.Authentication.JwtBearer": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "ivpWC8L84Y+l9VZOa0uJXPoUE+n3TiSRZpfKxMElRtLMYCeXmz5x3O7CuCJkZ65z1520RWuEZDmHefxiz5TqPg==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0" + } + }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "6.0.0", @@ -617,6 +641,47 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Logging": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==" + }, + "Microsoft.IdentityModel.Protocols": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.10.0", + "System.IdentityModel.Tokens.Jwt": "6.10.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.10.0", + "System.Security.Cryptography.Cng": "4.5.0" + } + }, "Microsoft.Net.Http.Headers": { "type": "Transitive", "resolved": "2.2.8", @@ -671,25 +736,26 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -741,8 +807,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -755,12 +821,12 @@ }, "NLog.Extensions.Logging": { "type": "Transitive", - "resolved": "5.1.0", - "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "resolved": "5.2.0", + "contentHash": "wzVFG5p8Nwbs1Ws29T8YJg+UbJfsh61h6U4xArnDSrtVvOoccwKtoFPZWwbym3ZTiTFmHIf7Ugu1j/WnT7z3vg==", "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", "Microsoft.Extensions.Logging": "6.0.0", - "NLog": "5.0.5" + "NLog": "5.1.0" } }, "RabbitMQ.Client": { @@ -1044,6 +1110,15 @@ "System.Runtime.InteropServices": "4.3.0" } }, + "System.IdentityModel.Tokens.Jwt": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, "System.IO": { "type": "Transitive", "resolved": "4.3.0", @@ -1056,11 +1131,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1291,21 +1361,8 @@ }, "System.Security.Cryptography.Cng": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "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" - } + "resolved": "4.5.0", + "contentHash": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==" }, "System.Security.Cryptography.Csp": { "type": "Transitive", @@ -1491,6 +1548,19 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -1499,96 +1569,96 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "3.0.0", - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10" + "Macross.Json.Extensions": "[3.0.0, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.Text.Json": "6.0.7" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Text.Json": "[6.0.7, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "System.IO.Abstractions": "17.2.3", - "System.Threading.Tasks.Dataflow": "6.0.0", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", + "fo-dicom": "[5.0.3, )" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Common": "1.0.0", - "Monai.Deploy.Messaging": "0.1.16", - "Monai.Deploy.Storage": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", + "Microsoft.Extensions.Options": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Polly": "7.2.3" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Polly": "[7.2.3, )" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", - "Microsoft.EntityFrameworkCore.Sqlite": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Monai.Deploy.InformaticsGateway.Api": "1.0.0", - "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" + "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.Extensions.Configuration": "[6.0.1, )", + "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", + "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", - "MongoDB.Driver": "2.18.0", - "MongoDB.Driver.Core": "2.18.0" + "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", + "MongoDB.Driver": "[2.18.0, )", + "MongoDB.Driver.Core": "[2.18.0, )" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNet.WebApi.Client": "5.2.9", - "Microsoft.Extensions.Http": "6.0.0", - "Microsoft.Net.Http.Headers": "2.2.8", - "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", - "System.Linq.Async": "6.0.1", - "fo-dicom": "5.0.3" + "Ardalis.GuardClauses": "[4.0.1, )", + "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", + "Microsoft.Extensions.Http": "[6.0.0, )", + "Microsoft.Net.Http.Headers": "[2.2.8, )", + "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", + "System.Linq.Async": "[6.0.1, )", + "fo-dicom": "[5.0.3, )" } } } diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index d6dd8681a..d644f36d1 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -34,8 +34,8 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.16" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.10" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.18" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.11" /> <PackageReference Include="Moq" Version="4.18.2" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> diff --git a/tests/Integration.Test/appsettings.json b/tests/Integration.Test/appsettings.json index ad6e43660..f7913f837 100644 --- a/tests/Integration.Test/appsettings.json +++ b/tests/Integration.Test/appsettings.json @@ -1,4 +1,7 @@ { + "MonaiDeployAuthentication": { + "BypassAuthentication": true + }, "ConnectionStrings": { "Type": "mongodb", "InformaticsGatewayDatabase": "mongodb://root:rootpassword@localhost:27017", diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index 7f4ab6c95..e2173d7ad 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -128,11 +128,11 @@ }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Direct", - "requested": "[0.1.16, )", - "resolved": "0.1.16", - "contentHash": "P7JlaepxiuUxY3GmKhKnhkDKaHID5KFEE//fIwUkhS39WMYLzq3K63URzM/8EIPmuZQnxl2n7EEZVxafY4FHQg==", + "requested": "[0.1.18, )", + "resolved": "0.1.18", + "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.16", + "Monai.Deploy.Messaging": "0.1.18", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" @@ -140,17 +140,17 @@ }, "Monai.Deploy.Storage.MinIO": { "type": "Direct", - "requested": "[0.2.10, )", - "resolved": "0.2.10", - "contentHash": "k6j9u4x0gcMml2b5wUufItGvA8YqDnw7utxjsG1wSF7lGsqs5R5ajr9m6Z9//fSzFQ7bn1iMexnDLDhLLmo+eQ==", + "requested": "[0.2.11, )", + "resolved": "0.2.11", + "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.10", - "Monai.Deploy.Storage.S3Policy": "0.2.10" + "Monai.Deploy.Storage": "0.2.11", + "Monai.Deploy.Storage.S3Policy": "0.2.11" } }, "Moq": { @@ -237,15 +237,15 @@ }, "AWSSDK.Core": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "TABd2IP9MUPtoLJ3EouOsZ1RfNqFPz0w7pblWcaXMw8BgaLSH4xWD7uX+0oIhRVs0GalIl3RHZEjOibEGezDUA==" + "resolved": "3.7.100.25", + "contentHash": "2+kNy4bSDy0GtZb+0dsyKwhvaM9xiJ2C6wiyLTEzHsn1cBTtj0pvbBshRNANchO2GkLartE2sFkrSPMlee7Ivg==" }, "AWSSDK.SecurityToken": { "type": "Transitive", - "resolved": "3.7.100.6", - "contentHash": "8aTiY7DxAkq6kqdipWBJ7O7XDMABPMevJSFYtOxhjjllW8hkwOY3f5R1ff2ZFSRA5H96xsBLLj/66gc+hmVweQ==", + "resolved": "3.7.100.25", + "contentHash": "vCLLlqThf6kcjON9GVSnz0SWGKalsBobMTlTTlHbddULcrkWsSqpnuYk0ON2JhrCJ5F1XJTPhgYVhDEIUipScg==", "dependencies": { - "AWSSDK.Core": "[3.7.100.6, 4.0.0)" + "AWSSDK.Core": "[3.7.100.25, 4.0.0)" } }, "BoDi": { @@ -338,6 +338,14 @@ "Newtonsoft.Json.Bson": "1.0.1" } }, + "Microsoft.AspNetCore.Authentication.JwtBearer": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "ivpWC8L84Y+l9VZOa0uJXPoUE+n3TiSRZpfKxMElRtLMYCeXmz5x3O7CuCJkZ65z1520RWuEZDmHefxiz5TqPg==", + "dependencies": { + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.10.0" + } + }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", "resolved": "6.0.0", @@ -689,6 +697,47 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "Microsoft.IdentityModel.JsonWebTokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "0qjS31rN1MQTc46tAYbzmMTSRfdV5ndZxSjYxIGqKSidd4wpNJfNII/pdhU5Fx8olarQoKL9lqqYw4yNOIwT0Q==", + "dependencies": { + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Logging": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "zbcwV6esnNzhZZ/VP87dji6VrUBLB5rxnZBkDMqNYpyG+nrBnBsbm4PUYLCBMUflHCM9EMLDG0rLnqqT+l0ldA==" + }, + "Microsoft.IdentityModel.Protocols": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "DFyXD0xylP+DknCT3hzJ7q/Q5qRNu0hO/gCU90O0ATdR0twZmlcuY9RNYaaDofXKVbzcShYNCFCGle2G/o8mkg==", + "dependencies": { + "Microsoft.IdentityModel.Logging": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "LVvMXAWPbPeEWTylDrxunlHH2wFyE4Mv0L4gZrJHC4HTESbWHquKZb/y/S8jgiQEDycOP0PDQvbG4RR/tr2TVQ==", + "dependencies": { + "Microsoft.IdentityModel.Protocols": "6.10.0", + "System.IdentityModel.Tokens.Jwt": "6.10.0" + } + }, + "Microsoft.IdentityModel.Tokens": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "qbf1NslutDB4oLrriYTJpy7oB1pbh2ej2lEHd2IPDQH9C74ysOdhU5wAC7KoXblldbo7YsNR2QYFOqQM/b0Rsg==", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "Microsoft.IdentityModel.Logging": "6.10.0", + "System.Security.Cryptography.Cng": "4.5.0" + } + }, "Microsoft.Net.Http.Headers": { "type": "Transitive", "resolved": "2.2.8", @@ -747,39 +796,55 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.16", - "contentHash": "k8PwzNCgovENqZnA6Uh/TjADd2LadFSWs88b0LCDTGsxq7hkRTIqGLzp6aqw9e8LGNff6WW7dtVGj31PuceKmQ==", + "resolved": "0.1.18", + "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "System.IO.Abstractions": "17.2.3" + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + } + }, + "Monai.Deploy.Security": { + "type": "Transitive", + "resolved": "0.1.1", + "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Logging.Configuration": "6.0.0" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "qTk/hYUIA1XCohRxG2XcFqoI3gzZTgPyB/DbRyeY4nVZ7lmuzni+KrbHuewTqsmBKt00+2d9YI6gms5oMcTxsQ==", + "resolved": "0.2.11", + "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", "dependencies": { - "AWSSDK.SecurityToken": "3.7.100.6", + "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.10", - "System.IO.Abstractions": "17.2.3" + "Monai.Deploy.Storage.S3Policy": "0.2.11", + "TestableIO.System.IO.Abstractions": "18.0.1", + "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.10", - "contentHash": "uCv90cT8z0qxlLo2Y/biem6vY9+nrD0EJBHTYETYooXp1tnAAt77pvvLx4ygFFzoabUTjdMr9ptYSJOXQ4dAFQ==", + "resolved": "0.2.11", + "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", - "Newtonsoft.Json": "13.0.1" + "Newtonsoft.Json": "13.0.2" } }, "MongoDB.Bson": { @@ -831,8 +896,8 @@ }, "Newtonsoft.Json": { "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + "resolved": "13.0.2", + "contentHash": "R2pZ3B0UjeyHShm9vG+Tu0EBb2lC8b0dFzV9gVn50ofHXh9Smjk6kTn7A/FdAsC8B5cKib1OnGYOXxRBz5XQDg==" }, "Newtonsoft.Json.Bson": { "type": "Transitive", @@ -845,25 +910,25 @@ }, "NLog": { "type": "Transitive", - "resolved": "5.0.5", - "contentHash": "NOTWSyUEljmjMq7OqZ1X9iu4bJ+rW/o6pt79Jq8j2Q7s8DyoMMCJwe0HoCKcNjhYRJ++b+E8erH6E6WwaCTshQ==" + "resolved": "5.1.0", + "contentHash": "oW7ekrkRG9okpDMUcEglunWj8Qf2RY8qkgl+/chJoavzg3dbT13y32t19R54FKkmq80fKzw4ZekZkCrRGanKgQ==" }, "NLog.Extensions.Logging": { "type": "Transitive", - "resolved": "5.1.0", - "contentHash": "cQCKF2/iYjZUkn0d2o6VD1xkTUhIFHPYmZEm29KlTthLEzMht5aY80SwWlHZCKy0w19kaSq1jgLJSGrKsapUfg==", + "resolved": "5.2.0", + "contentHash": "wzVFG5p8Nwbs1Ws29T8YJg+UbJfsh61h6U4xArnDSrtVvOoccwKtoFPZWwbym3ZTiTFmHIf7Ugu1j/WnT7z3vg==", "dependencies": { "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", "Microsoft.Extensions.Logging": "6.0.0", - "NLog": "5.0.5" + "NLog": "5.1.0" } }, "NLog.Web.AspNetCore": { "type": "Transitive", - "resolved": "5.1.5", - "contentHash": "a7Pe6KdwIxPxcFYy6M7wLseU++tx1bBf/ROVNlcZPLfp40DPLA0KGOk1K9kvbcwPYKKLMikdSwiOyTRZZFlaXg==", + "resolved": "5.2.0", + "contentHash": "DqFgdydAWW+pshPdzh0ydk2jJrrVaZmBNz5+p9K8N9q/4BOPJ94S2fD8t9erd7ZMhnigaqOq/HqZH4nGGOYTbA==", "dependencies": { - "NLog.Extensions.Logging": "5.1.0" + "NLog.Extensions.Logging": "5.2.0" } }, "NuGet.Frameworks": { @@ -1190,6 +1255,15 @@ "System.Runtime.InteropServices": "4.3.0" } }, + "System.IdentityModel.Tokens.Jwt": { + "type": "Transitive", + "resolved": "6.10.0", + "contentHash": "C+Q5ORsFycRkRuvy/Xd0Pv5xVpmWSAvQYZAGs7VQogmkqlLhvfZXTgBIlHqC3cxkstSoLJAYx6xZB7foQ2y5eg==", + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "6.10.0", + "Microsoft.IdentityModel.Tokens": "6.10.0" + } + }, "System.IO": { "type": "Transitive", "resolved": "4.3.0", @@ -1202,11 +1276,6 @@ "System.Threading.Tasks": "4.3.0" } }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "17.2.3", - "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" - }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1444,21 +1513,8 @@ }, "System.Security.Cryptography.Cng": { "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "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" - } + "resolved": "4.5.0", + "contentHash": "WG3r7EyjUe9CMPFSs6bty5doUqT+q9pbI80hlNzo2SkPkZ4VTuZkGWjpp77JB8+uaL4DFPRdBsAY+DX3dBK92A==" }, "System.Security.Cryptography.Csp": { "type": "Transitive", @@ -1657,6 +1713,19 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, + "TestableIO.System.IO.Abstractions": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + }, + "TestableIO.System.IO.Abstractions.Wrappers": { + "type": "Transitive", + "resolved": "18.0.1", + "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "dependencies": { + "TestableIO.System.IO.Abstractions": "18.0.1" + } + }, "Validation": { "type": "Transitive", "resolved": "2.4.18", @@ -1741,11 +1810,12 @@ "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "Monai.Deploy.Storage.MinIO": "[0.2.10, )", - "NLog": "[5.0.5, )", - "NLog.Web.AspNetCore": "[5.1.5, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", + "Monai.Deploy.Security": "[0.1.1, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "NLog": "[5.1.0, )", + "NLog.Web.AspNetCore": "[5.2.0, )", "Polly": "[7.2.3, )", "Swashbuckle.AspNetCore": "[6.4.0, )", "fo-dicom": "[5.0.3, )", @@ -1758,8 +1828,8 @@ "Macross.Json.Extensions": "[3.0.0, )", "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1782,8 +1852,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1794,9 +1864,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.16, )", - "Monai.Deploy.Storage": "[0.2.10, )", - "System.IO.Abstractions": "[17.2.3, )" + "Monai.Deploy.Messaging": "[0.1.18, )", + "Monai.Deploy.Storage": "[0.2.11, )", + "TestableIO.System.IO.Abstractions": "[18.0.1, )" } }, "monai.deploy.informaticsgateway.database": { From 6e54a445070b8b4554e1a5ed42559e146e3cec07 Mon Sep 17 00:00:00 2001 From: Victor Chang <vicchang@nvidia.com> Date: Tue, 6 Dec 2022 18:09:45 +0000 Subject: [PATCH 095/101] Clean up unused usings Signed-off-by: Victor Chang <vicchang@nvidia.com> --- src/InformaticsGateway/Program.cs | 2 -- src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs | 1 - 2 files changed, 3 deletions(-) diff --git a/src/InformaticsGateway/Program.cs b/src/InformaticsGateway/Program.cs index 2f814398c..d2c37df1d 100644 --- a/src/InformaticsGateway/Program.cs +++ b/src/InformaticsGateway/Program.cs @@ -29,8 +29,6 @@ using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; using Monai.Deploy.InformaticsGateway.Database; -using Monai.Deploy.InformaticsGateway.Database.Api.Repositories; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Repositories; using Monai.Deploy.InformaticsGateway.Repositories; using Monai.Deploy.InformaticsGateway.Services.Common; using Monai.Deploy.InformaticsGateway.Services.Connectors; diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs index 11e8af505..5040eab68 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadQueue.cs @@ -16,7 +16,6 @@ using System; using System.Collections.Concurrent; -using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; From cb54360650245eb9540be5595e14dafe76a5b336 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Tue, 13 Dec 2022 11:24:19 -0800 Subject: [PATCH 096/101] Properly support database health checks based on configuration. (#282) Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 8 + docs/compliance/third-party-licenses.md | 220 ++++++++++++++++++ src/Client/Test/packages.lock.json | 14 +- src/Database/DatabaseManager.cs | 28 ++- .../EntityFramework/Configuration/SR.cs | 1 + ....Deploy.InformaticsGateway.Database.csproj | 4 +- src/Database/packages.lock.json | 23 +- .../Monai.Deploy.InformaticsGateway.csproj | 1 - .../Services/Http/Startup.cs | 4 +- .../Test/packages.lock.json | 14 +- src/InformaticsGateway/packages.lock.json | 34 ++- tests/Integration.Test/packages.lock.json | 14 +- 12 files changed, 341 insertions(+), 24 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 298ecb4cc..647b7bcde 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -2496,3 +2496,11 @@ :versions: - 6.10.0 :when: 2022-10-14 23:37:56.206982078 Z +- - :approve + - AspNetCore.HealthChecks.MongoDb + - :who: mocsharp + :why: Apache-2.0 (https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks/raw/master/LICENSE) + :versions: + - 6.0.2 + :when: 2022-12-08 23:37:56.206982078 Z + diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index ebe01bbef..a132e6c18 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -59,6 +59,226 @@ SOFTWARE. +<details> +<summary>AspNetCore.HealthChecks.MongoDb 6.0.2</summary> + +## xunit.runner.visualstudio + +- Version: 6.0.2 +- Authors: Xabaril +- Project URL: https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks +- Source: [NuGet](https://www.nuget.org/packages/AspNetCore.HealthChecks.MongoDb#versions-body-tab/6.0.2) +- License: [MIT]( https://licenses.nuget.org/Apache-2.0) + + +``` + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +``` + +</details> + + + <details> <summary>AWSSDK.Core 3.7.100.25</summary> diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index 9a57acace..335af92b3 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -52,6 +52,15 @@ "JetBrains.Annotations": "2021.3.0" } }, + "AspNetCore.HealthChecks.MongoDb": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "0R3NVbsjMhS5fd2hGijzQNKJ0zQBv/qMC7nkpmnbtgribCj7vfNdAhSqv4lwbibffRWPW5A/7VNJMX4aPej0WQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.2", + "MongoDB.Driver": "2.14.1" + } + }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.100.25", @@ -1676,7 +1685,6 @@ "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", "Microsoft.Extensions.Logging.Console": "[6.0.0, )", @@ -1749,10 +1757,12 @@ "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { + "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", @@ -1805,4 +1815,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/DatabaseManager.cs b/src/Database/DatabaseManager.cs index 0a554734e..30f0d188d 100644 --- a/src/Database/DatabaseManager.cs +++ b/src/Database/DatabaseManager.cs @@ -32,13 +32,37 @@ public static class DatabaseManager { public const string DbType_Sqlite = "sqlite"; public const string DbType_MongoDb = "mongodb"; - public static IServiceCollection ConfigureDatabase(this IServiceCollection services, IConfigurationSection? connectionStringConfigurationSection) + + public static IHealthChecksBuilder AddDatabaseHealthCheck(this IHealthChecksBuilder healthChecksBuilder, IConfigurationSection? connectionStringConfigurationSection) { if (connectionStringConfigurationSection is null) { throw new ConfigurationException("No database connections found in configuration section 'ConnectionStrings'."); } + var databaseType = connectionStringConfigurationSection["Type"].ToLowerInvariant(); + + switch (databaseType) + { + case DbType_Sqlite: + healthChecksBuilder.AddDbContextCheck<InformaticsGatewayContext>("SQLite Database"); + return healthChecksBuilder; + + case DbType_MongoDb: + healthChecksBuilder.AddMongoDb(mongodbConnectionString: connectionStringConfigurationSection[SR.DatabaseConnectionStringKey], mongoDatabaseName: connectionStringConfigurationSection[SR.DatabaseNameKey], name: "MongoDB"); + return healthChecksBuilder; + + default: + throw new ConfigurationException($"Unsupported database type defined: '{databaseType}'"); + } + } + + public static IServiceCollection ConfigureDatabase(this IServiceCollection services, IConfigurationSection? connectionStringConfigurationSection) + { + if (connectionStringConfigurationSection is null) + { + throw new ConfigurationException("No database connections found in configuration section 'ConnectionStrings'."); + } var databaseType = connectionStringConfigurationSection["Type"].ToLowerInvariant(); switch (databaseType) @@ -56,6 +80,7 @@ public static IServiceCollection ConfigureDatabase(this IServiceCollection servi services.AddScoped(typeof(IPayloadRepository), typeof(EntityFramework.Repositories.PayloadRepository)); services.AddScoped(typeof(IDicomAssociationInfoRepository), typeof(EntityFramework.Repositories.DicomAssociationInfoRepository)); return services; + case DbType_MongoDb: services.AddSingleton<IMongoClient, MongoClient>(s => new MongoClient(connectionStringConfigurationSection[SR.DatabaseConnectionStringKey])); services.Configure<MongoDBOptions>(connectionStringConfigurationSection); @@ -69,6 +94,7 @@ public static IServiceCollection ConfigureDatabase(this IServiceCollection servi services.AddScoped(typeof(IDicomAssociationInfoRepository), typeof(MongoDB.Repositories.DicomAssociationInfoRepository)); return services; + default: throw new ConfigurationException($"Unsupported database type defined: '{databaseType}'"); } diff --git a/src/Database/EntityFramework/Configuration/SR.cs b/src/Database/EntityFramework/Configuration/SR.cs index ebcae9fc9..ea538ca3b 100644 --- a/src/Database/EntityFramework/Configuration/SR.cs +++ b/src/Database/EntityFramework/Configuration/SR.cs @@ -23,6 +23,7 @@ public static class SR /// Name of the key for retrieve database connection string. /// </summary> public const string DatabaseConnectionStringKey = "InformaticsGatewayDatabase"; + public const string DatabaseNameKey = "DatabaseName"; } } diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index d4fd80ccc..e44699553 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -61,6 +61,7 @@ </ItemGroup> <ItemGroup> + <PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="6.0.2" /> <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> @@ -68,6 +69,7 @@ <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> + <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" /> </ItemGroup> </Project> diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json index 8c85665b3..111247485 100644 --- a/src/Database/packages.lock.json +++ b/src/Database/packages.lock.json @@ -2,6 +2,16 @@ "version": 1, "dependencies": { "net6.0": { + "AspNetCore.HealthChecks.MongoDb": { + "type": "Direct", + "requested": "[6.0.2, )", + "resolved": "6.0.2", + "contentHash": "0R3NVbsjMhS5fd2hGijzQNKJ0zQBv/qMC7nkpmnbtgribCj7vfNdAhSqv4lwbibffRWPW5A/7VNJMX4aPej0WQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.2", + "MongoDB.Driver": "2.14.1" + } + }, "GitVersion.MsBuild": { "type": "Direct", "requested": "[5.11.1, )", @@ -59,6 +69,17 @@ "System.Text.Json": "6.0.0" } }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Direct", + "requested": "[6.0.11, )", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Direct", "requested": "[6.0.0, )", @@ -637,4 +658,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 8ac30658a..3ccb85ef4 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -45,7 +45,6 @@ </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> - <PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.11" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index e80f53c94..ef014a28b 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -28,7 +28,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework; +using Monai.Deploy.InformaticsGateway.Database; using Monai.Deploy.InformaticsGateway.Services.Fhir; using Monai.Deploy.Security.Authentication.Extensions; @@ -111,7 +111,7 @@ public void ConfigureServices(IServiceCollection services) services.AddHealthChecks() .AddCheck<MonaiHealthCheck>("Informatics Gateway Services") - .AddDbContextCheck<InformaticsGatewayContext>("Database"); + .AddDatabaseHealthCheck(Configuration?.GetSection("ConnectionStrings")); } #pragma warning disable CA1822 // Mark members as static diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index aef052742..ae1ff5308 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -104,6 +104,15 @@ "JetBrains.Annotations": "2021.3.0" } }, + "AspNetCore.HealthChecks.MongoDb": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "0R3NVbsjMhS5fd2hGijzQNKJ0zQBv/qMC7nkpmnbtgribCj7vfNdAhSqv4lwbibffRWPW5A/7VNJMX4aPej0WQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.2", + "MongoDB.Driver": "2.14.1" + } + }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.100.25", @@ -1905,7 +1914,6 @@ "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", "Microsoft.Extensions.Logging.Console": "[6.0.0, )", @@ -1969,10 +1977,12 @@ "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { + "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", @@ -2025,4 +2035,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json index 981e6b17c..e361466f7 100644 --- a/src/InformaticsGateway/packages.lock.json +++ b/src/InformaticsGateway/packages.lock.json @@ -93,17 +93,6 @@ "resolved": "6.0.0", "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" }, - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { - "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", - "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", - "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" - } - }, "Microsoft.Extensions.Hosting": { "type": "Direct", "requested": "[6.0.1, )", @@ -261,6 +250,15 @@ "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" } }, + "AspNetCore.HealthChecks.MongoDb": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "0R3NVbsjMhS5fd2hGijzQNKJ0zQBv/qMC7nkpmnbtgribCj7vfNdAhSqv4lwbibffRWPW5A/7VNJMX4aPej0WQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.2", + "MongoDB.Driver": "2.14.1" + } + }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.100.25", @@ -521,6 +519,16 @@ "resolved": "6.0.11", "contentHash": "MQS7GE1ux7Lo1yOr59M7ZTEoFY3GJ9hHkxXQnQc8EPxkt5S7cX4qe6djSWH+mk9qQan+AjFZzdC1x5Af5IaseA==" }, + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.11", + "contentHash": "tMjF1erFhHE+SnsiIyRIatVeKBgB9OfGsOvQe/+foE0xl4+JUQGbCA7gF1wqOksi9AxmGWzqtqjsMKJpCo5wYQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.11", + "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions": "6.0.11" + } + }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", "resolved": "6.0.0", @@ -1607,10 +1615,12 @@ "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { + "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", @@ -1663,4 +1673,4 @@ } } } -} +} \ No newline at end of file diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index d8be0d3ae..8cb39f9b7 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -235,6 +235,15 @@ "JetBrains.Annotations": "2021.3.0" } }, + "AspNetCore.HealthChecks.MongoDb": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "0R3NVbsjMhS5fd2hGijzQNKJ0zQBv/qMC7nkpmnbtgribCj7vfNdAhSqv4lwbibffRWPW5A/7VNJMX4aPej0WQ==", + "dependencies": { + "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.2", + "MongoDB.Driver": "2.14.1" + } + }, "AWSSDK.Core": { "type": "Transitive", "resolved": "3.7.100.25", @@ -1799,7 +1808,6 @@ "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", "Microsoft.Extensions.Logging.Console": "[6.0.0, )", @@ -1872,10 +1880,12 @@ "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { + "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", @@ -1928,4 +1938,4 @@ } } } -} +} \ No newline at end of file From 4c7c59943783d92249ee10c347c373b98f23398f Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:16:56 -0800 Subject: [PATCH 097/101] Update Moani.Deploy.Security package to 0.1.2 to support basic auth (#289) * Update Moani.Deploy.Security package to 0.1.3 Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 25 ++-- docs/compliance/third-party-licenses.md | 54 +++---- ...Monai.Deploy.InformaticsGateway.Api.csproj | 8 +- ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- src/Api/Test/packages.lock.json | 63 ++++---- src/Api/packages.lock.json | 52 +++---- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 4 +- src/CLI/Test/packages.lock.json | 71 ++++----- src/CLI/packages.lock.json | 50 +++---- ...formaticsGateway.Client.Common.Test.csproj | 2 +- src/Client.Common/Test/packages.lock.json | 6 +- ...ploy.InformaticsGateway.Client.Test.csproj | 2 +- src/Client/Test/packages.lock.json | 106 ++++++-------- src/Client/packages.lock.json | 52 +++---- ...ai.Deploy.InformaticsGateway.Common.csproj | 2 +- ...ploy.InformaticsGateway.Common.Test.csproj | 8 +- src/Common/Test/packages.lock.json | 47 ++---- src/Common/packages.lock.json | 14 +- ...oy.InformaticsGateway.Configuration.csproj | 8 +- ...formaticsGateway.Configuration.Test.csproj | 4 +- src/Configuration/Test/packages.lock.json | 75 ++++------ src/Configuration/packages.lock.json | 54 +++---- src/Database/Api/Test/packages.lock.json | 58 +++----- src/Database/Api/packages.lock.json | 58 +++----- ...teway.Database.EntityFramework.Test.csproj | 4 +- .../EntityFramework/Test/packages.lock.json | 84 +++++------ .../EntityFramework/packages.lock.json | 58 +++----- ...y.Database.MongoDB.Integration.Test.csproj | 2 +- .../Integration.Test/packages.lock.json | 64 ++++---- src/Database/MongoDB/packages.lock.json | 58 +++----- src/Database/packages.lock.json | 56 +++---- src/DicomWebClient/CLI/packages.lock.json | 2 +- ...rmaticsGateway.DicomWeb.Client.Test.csproj | 2 +- src/DicomWebClient/Test/packages.lock.json | 6 +- src/DicomWebClient/packages.lock.json | 2 +- .../Monai.Deploy.InformaticsGateway.csproj | 12 +- ...onai.Deploy.InformaticsGateway.Test.csproj | 8 +- .../Test/packages.lock.json | 137 ++++++++---------- src/InformaticsGateway/packages.lock.json | 100 ++++++------- ...InformaticsGateway.Integration.Test.csproj | 6 +- tests/Integration.Test/packages.lock.json | 110 +++++++------- 42 files changed, 663 insertions(+), 875 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 647b7bcde..8491f19ac 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -74,14 +74,14 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.4 + - 4.8.0 :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.7.4 + - 4.8.0 :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions @@ -822,7 +822,7 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) :versions: - - 0.1.1 + - 0.1.2 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Moq @@ -836,7 +836,7 @@ - :who: mocsharp :why: BSD 3-Clause License ( https://raw.githubusercontent.com/moq/moq4/main/License.txt) :versions: - - 4.18.2 + - 4.18.3 :when: 2022-08-16 23:06:23.843184482 Z - - :approve - NETStandard.Library @@ -1220,32 +1220,25 @@ - 4.3.0 :when: 2022-08-16 23:06:49.709349587 Z - - :approve - - TestableIO.System.IO.Abstractions + - System.IO.Abstractions - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 18.0.1 + - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z - - :approve - - TestableIO.System.IO.Abstractions.Extensions + - System.IO.Abstractions.Extensions - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) :versions: - 1.0.34 :when: 2022-08-16 23:06:50.602318269 Z - - :approve - - TestableIO.System.IO.Abstractions.TestingHelpers + - System.IO.Abstractions.TestingHelpers - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 18.0.1 - :when: 2022-08-16 23:06:51.524564913 Z -- - :approve - - TestableIO.System.IO.Abstractions.Wrappers - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - :versions: - - 18.0.1 + - 17.2.3 :when: 2022-08-16 23:06:51.524564913 Z - - :approve - System.IO.Compression diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index a132e6c18..dde22ae97 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -1185,14 +1185,14 @@ SOFTWARE. <details> -<summary>DotNext 4.7.4</summary> +<summary>DotNext 4.8.0</summary> ## DotNext -- Version: 4.7.4 +- Version: 4.8.0 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.4) +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.8.0) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -1224,14 +1224,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.7.4</summary> +<summary>DotNext.Threading 4.8.0</summary> ## DotNext.Threading -- Version: 4.7.4 +- Version: 4.8.0 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.4) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.8.0) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -7720,14 +7720,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Security 0.1.1</summary> +<summary>Monai.Deploy.Security 0.1.2</summary> ## Monai.Deploy.Security -- Version: 0.1.1 +- Version: 0.1.2 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Security/0.1.1) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Security/0.1.2) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) @@ -8807,14 +8807,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <details> -<summary>Moq 4.18.2</summary> +<summary>Moq 4.18.3</summary> ## Moq -- Version: 4.18.2 +- Version: 4.18.3 - Authors: Daniel Cazzulino, kzu - Project URL: https://github.com/moq/moq4 -- Source: [NuGet](https://www.nuget.org/packages/Moq/4.18.2) +- Source: [NuGet](https://www.nuget.org/packages/Moq/4.18.3) - License: [BSD 3-Clause License]( https://raw.githubusercontent.com/moq/moq4/main/License.txt) @@ -27970,14 +27970,14 @@ consequential or other damages. <details> -<summary>TestableIO.System.IO.Abstractions 18.0.1</summary> +<summary>System.IO.Abstractions 17.2.3</summary> -## TestableIO.System.IO.Abstractions +## System.IO.Abstractions -- Version: 18.0.1 +- Version: 17.2.3 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions/18.0.1) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) @@ -28011,14 +28011,14 @@ SOFTWARE. <details> -<summary>TestableIO.System.IO.Abstractions.Extensions 1.0.34</summary> +<summary>System.IO.Abstractions.Extensions 1.0.34</summary> -## TestableIO.System.IO.Abstractions.Extensions +## System.IO.Abstractions.Extensions - Version: 1.0.34 - Authors: Tatham Oddie - Luigi Grilli & friends - Project URL: https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Extensions/1.0.34) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.Extensions/1.0.34) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) @@ -28038,14 +28038,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI <details> -<summary>TestableIO.System.IO.Abstractions.TestingHelpers 18.0.1</summary> +<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> -## TestableIO.System.IO.Abstractions.TestingHelpers +## System.IO.Abstractions.TestingHelpers -- Version: 18.0.1 +- Version: 17.2.3 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.TestingHelpers/18.0.1) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) @@ -28079,14 +28079,14 @@ SOFTWARE. <details> -<summary>TestableIO.System.IO.Abstractions.Wrappers 18.0.1</summary> +<summary>System.IO.Abstractions.Wrappers 17.2.3</summary> -## TestableIO.System.IO.Abstractions.Wrappers +## System.IO.Abstractions.Wrappers -- Version: 18.0.1 +- Version: 17.2.3 - Authors: Tatham Oddie & friends - Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Wrappers/18.0.1) +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.Wrappers/17.2.3) - License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 5e3765fe8..06678413c 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -30,9 +30,9 @@ <PrivateAssets>All</PrivateAssets> </PackageReference> <PackageReference Include="Macross.Json.Extensions" Version="3.0.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.11" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.18" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="6.0.12" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.19" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.13" /> </ItemGroup> <ItemGroup> diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 2361cdea7..4a04855a4 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -34,7 +34,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json index 8ede75396..50173066b 100644 --- a/src/Api/Test/packages.lock.json +++ b/src/Api/Test/packages.lock.json @@ -18,14 +18,13 @@ "Microsoft.TestPlatform.TestHost": "17.4.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -113,8 +112,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -260,8 +259,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -269,29 +268,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -606,6 +603,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1217,19 +1219,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1279,21 +1268,21 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 0c3e07c06..0e6e28f51 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -16,15 +16,15 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Monai.Deploy.Messaging": { "type": "Direct", - "requested": "[0.1.18, )", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "requested": "[0.1.19, )", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -32,24 +32,22 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.11, )", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "requested": "[0.2.13, )", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Ardalis.GuardClauses": { @@ -210,8 +208,8 @@ }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -240,6 +238,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -273,28 +276,15 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index ba471893b..b04005958 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -60,6 +60,6 @@ <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.CommandLine.Rendering" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> </Project> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index dceb10547..481dc7af9 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -34,9 +34,9 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json index 265a05ce8..747c5f703 100644 --- a/src/CLI/Test/packages.lock.json +++ b/src/CLI/Test/packages.lock.json @@ -20,9 +20,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -38,14 +38,13 @@ "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -170,8 +169,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -508,8 +507,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -517,29 +516,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -890,6 +887,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1503,19 +1505,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1575,17 +1564,17 @@ "System.CommandLine": "[2.0.0-beta4.22272.1, )", "System.CommandLine.Hosting": "[0.4.0-alpha.22272.1, )", "System.CommandLine.Rendering": "[0.4.0-alpha.22272.1, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1608,11 +1597,11 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/CLI/packages.lock.json b/src/CLI/packages.lock.json index 83993fbd6..0b2b71ea9 100644 --- a/src/CLI/packages.lock.json +++ b/src/CLI/packages.lock.json @@ -108,11 +108,11 @@ "System.CommandLine": "2.0.0-beta4.22272.1" } }, - "TestableIO.System.IO.Abstractions": { + "System.IO.Abstractions": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -182,8 +182,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -449,8 +449,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -458,29 +458,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -1420,22 +1418,14 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1458,11 +1448,11 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj index a587df6c5..8ebbc2f44 100644 --- a/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj +++ b/src/Client.Common/Test/Monai.Deploy.InformaticsGateway.Client.Common.Test.csproj @@ -38,7 +38,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> </ItemGroup> <ItemGroup> diff --git a/src/Client.Common/Test/packages.lock.json b/src/Client.Common/Test/packages.lock.json index 9a5709b8c..f377bdbf2 100644 --- a/src/Client.Common/Test/packages.lock.json +++ b/src/Client.Common/Test/packages.lock.json @@ -29,9 +29,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } diff --git a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj index 91c4bb66a..b5870bd14 100644 --- a/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj +++ b/src/Client/Test/Monai.Deploy.InformaticsGateway.Client.Test.csproj @@ -39,7 +39,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> </ItemGroup> <ItemGroup> diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index 335af92b3..71f71ff9c 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -20,9 +20,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -100,19 +100,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "resolved": "4.8.0", + "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "resolved": "4.8.0", + "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", "dependencies": { - "DotNext": "4.7.4", - "System.Threading.Channels": "6.0.0" + "DotNext": "4.8.0", + "System.Threading.Channels": "7.0.0" } }, "fo-dicom": { @@ -222,8 +222,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -708,8 +708,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -717,16 +717,15 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", + "resolved": "0.1.19", + "contentHash": "o4eq4yHUQ/vZnYbT2aWlhIvtAtTdPTHqo5jR0wpl6xmebKidB3RGIq6lqX6fbzBjByUYzzA2AzNoCPykL56NkA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.18", + "Monai.Deploy.Messaging": "0.1.19", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" @@ -734,8 +733,8 @@ }, "Monai.Deploy.Security": { "type": "Transitive", - "resolved": "0.1.1", - "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "resolved": "0.1.3", + "contentHash": "9/E/UEK9Foo1cUHRRgNIR8uk+oTLiBbzR2vqBsxIo1EwbduDVuBGFcIh2lpAJZmFFwBNv0KtmTASdD3w5UWd+g==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", @@ -748,37 +747,36 @@ }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.MinIO": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", + "resolved": "0.2.13", + "contentHash": "v6SChjnSOMcUDXN5jPmsWFSfv/fDlql48/rKONAQ0DQSoYMzKjFLt98M0uazvfiIzXEK2q63x1IqZxTZdPDqhQ==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.11", - "Monai.Deploy.Storage.S3Policy": "0.2.11" + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.S3Policy": "0.2.13" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -1191,6 +1189,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1585,8 +1588,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + "resolved": "7.0.0", + "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1613,19 +1616,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1680,7 +1670,7 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", + "DotNext.Threading": "[4.8.0, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", @@ -1695,10 +1685,10 @@ "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", - "Monai.Deploy.Security": "[0.1.1, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", + "Monai.Deploy.Security": "[0.1.3, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "Monai.Deploy.Storage.MinIO": "[0.2.13, )", "NLog": "[5.1.0, )", "NLog.Web.AspNetCore": "[5.2.0, )", "Polly": "[7.2.3, )", @@ -1711,10 +1701,10 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1737,8 +1727,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1749,9 +1739,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { diff --git a/src/Client/packages.lock.json b/src/Client/packages.lock.json index 3bb41a229..832d1c37e 100644 --- a/src/Client/packages.lock.json +++ b/src/Client/packages.lock.json @@ -84,8 +84,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -213,8 +213,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -222,29 +222,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -563,6 +561,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1176,27 +1179,14 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client.common": { @@ -1210,11 +1200,11 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index 03ec144a0..4a74ecd74 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -33,7 +33,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> <PackageReference Include="System.Threading.Tasks.Dataflow" Version="6.0.0" /> </ItemGroup> diff --git a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj index 647380146..8f6a9cfc6 100644 --- a/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj +++ b/src/Common/Test/Monai.Deploy.InformaticsGateway.Common.Test.csproj @@ -30,11 +30,9 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.Extensions" Version="1.0.34" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.Wrappers" Version="18.0.1" /> + <PackageReference Include="Moq" Version="4.18.3" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json index df70575d8..2061c4c77 100644 --- a/src/Common/Test/packages.lock.json +++ b/src/Common/Test/packages.lock.json @@ -20,45 +20,26 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } }, - "TestableIO.System.IO.Abstractions": { + "System.IO.Abstractions": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" }, - "TestableIO.System.IO.Abstractions.Extensions": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[1.0.34, )", - "resolved": "1.0.34", - "contentHash": "pH97COy/Ajoof+fa2Bffgbp+G+R3143DP7Ynocx9pd5JYQSoPHA1GfGlky+vm4NjfCXtGw0yb6Vuf4t1XcqhGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "17.2.26" - } - }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" - } - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xunit": { @@ -1183,11 +1164,11 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Common/packages.lock.json b/src/Common/packages.lock.json index a289674f6..9a2b36402 100644 --- a/src/Common/packages.lock.json +++ b/src/Common/packages.lock.json @@ -34,18 +34,18 @@ "resolved": "5.11.1", "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" }, + "System.IO.Abstractions": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Threading.Tasks.Dataflow": { "type": "Direct", "requested": "[6.0.0, )", "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, "JetBrains.Annotations": { "type": "Transitive", "resolved": "2021.3.0", @@ -143,4 +143,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj index a089f7212..3c7961289 100644 --- a/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj +++ b/src/Configuration/Monai.Deploy.InformaticsGateway.Configuration.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -31,9 +31,9 @@ </PackageReference> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.3" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.18" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="Monai.Deploy.Messaging" Version="0.1.19" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.13" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> <ItemGroup> diff --git a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj index a360a11ba..3853cb9c9 100644 --- a/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj +++ b/src/Configuration/Test/Monai.Deploy.InformaticsGateway.Configuration.Test.csproj @@ -35,8 +35,8 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="Moq" Version="4.18.3" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json index e49106dce..96660e70c 100644 --- a/src/Configuration/Test/packages.lock.json +++ b/src/Configuration/Test/packages.lock.json @@ -20,21 +20,20 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xunit": { @@ -121,8 +120,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -268,8 +267,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -277,29 +276,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -619,6 +616,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1230,19 +1232,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1292,18 +1281,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1314,11 +1303,11 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Configuration/packages.lock.json b/src/Configuration/packages.lock.json index e8bd1b849..7f7e816c7 100644 --- a/src/Configuration/packages.lock.json +++ b/src/Configuration/packages.lock.json @@ -26,9 +26,9 @@ }, "Monai.Deploy.Messaging": { "type": "Direct", - "requested": "[0.1.18, )", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "requested": "[0.1.19, )", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -36,31 +36,29 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.11, )", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "requested": "[0.2.13, )", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, - "TestableIO.System.IO.Abstractions": { + "System.IO.Abstractions": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -116,8 +114,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.Extensions.Configuration": { "type": "Transitive", @@ -216,8 +214,8 @@ }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -279,33 +277,25 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json index 4d3979a2d..7f3554e51 100644 --- a/src/Database/Api/Test/packages.lock.json +++ b/src/Database/Api/Test/packages.lock.json @@ -108,8 +108,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -280,8 +280,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -289,29 +289,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -639,6 +637,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1250,19 +1253,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1312,18 +1302,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1334,9 +1324,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { @@ -1350,4 +1340,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/Api/packages.lock.json b/src/Database/Api/packages.lock.json index 3ed0ba5bf..16650993b 100644 --- a/src/Database/Api/packages.lock.json +++ b/src/Database/Api/packages.lock.json @@ -77,8 +77,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -216,8 +216,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -225,29 +225,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -284,6 +282,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -317,35 +320,22 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -356,11 +346,11 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } } } } -} +} \ No newline at end of file diff --git a/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj b/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj index effb31ad9..8032a770e 100644 --- a/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj +++ b/src/Database/EntityFramework/Test/Monai.Deploy.InformaticsGateway.Database.EntityFramework.Test.csproj @@ -25,9 +25,9 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.12" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json index c866c85de..df82195d5 100644 --- a/src/Database/EntityFramework/Test/packages.lock.json +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -10,11 +10,11 @@ }, "Microsoft.EntityFrameworkCore.InMemory": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "2h5Pyy5e5EJhvMVl1UGPTLst1Q/+8rwEIvjsFwQDrsOmbsgzlbkvCJM2K89wvjA3UKAn5nTyRxCzKu9MMaJYkg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "6A42n1ehuWTIsqbOzcA82aNePXF+xrrSfiD0wbW99NCDpNra4m6A3EkFS1yb8hDkc7yY64BkNQV5YhsB/5UgBA==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11" + "Microsoft.EntityFrameworkCore": "6.0.12" } }, "Microsoft.NET.Test.Sdk": { @@ -29,9 +29,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -128,11 +128,11 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -142,13 +142,13 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", @@ -393,8 +393,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -402,29 +402,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -788,6 +786,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1411,19 +1414,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1473,18 +1463,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1495,9 +1485,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { @@ -1524,4 +1514,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/EntityFramework/packages.lock.json b/src/Database/EntityFramework/packages.lock.json index cec5cb3b9..3874cb6c1 100644 --- a/src/Database/EntityFramework/packages.lock.json +++ b/src/Database/EntityFramework/packages.lock.json @@ -140,8 +140,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -316,8 +316,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -325,29 +325,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -420,6 +418,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -465,35 +468,22 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -504,9 +494,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { @@ -520,4 +510,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj b/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj index dc1e4a88b..eac3aaece 100644 --- a/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj +++ b/src/Database/MongoDB/Integration.Test/Monai.Deploy.InformaticsGateway.Database.MongoDB.Integration.Test.csproj @@ -28,7 +28,7 @@ <ItemGroup> <PackageReference Include="FluentAssertions" Version="6.8.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> diff --git a/src/Database/MongoDB/Integration.Test/packages.lock.json b/src/Database/MongoDB/Integration.Test/packages.lock.json index 439cadcab..8554c02b3 100644 --- a/src/Database/MongoDB/Integration.Test/packages.lock.json +++ b/src/Database/MongoDB/Integration.Test/packages.lock.json @@ -29,9 +29,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -142,8 +142,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -323,8 +323,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -332,29 +332,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -744,6 +742,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1374,19 +1377,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1441,18 +1431,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1463,9 +1453,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { @@ -1487,4 +1477,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/MongoDB/packages.lock.json b/src/Database/MongoDB/packages.lock.json index f84939a17..ee2f25fef 100644 --- a/src/Database/MongoDB/packages.lock.json +++ b/src/Database/MongoDB/packages.lock.json @@ -106,8 +106,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -254,8 +254,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -263,29 +263,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -350,6 +348,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -397,19 +400,6 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -419,18 +409,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -441,9 +431,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { @@ -457,4 +447,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json index 111247485..27041048e 100644 --- a/src/Database/packages.lock.json +++ b/src/Database/packages.lock.json @@ -163,8 +163,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -365,8 +365,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -374,29 +374,27 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -518,6 +516,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -577,19 +580,6 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -599,18 +589,18 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -621,9 +611,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database.api": { diff --git a/src/DicomWebClient/CLI/packages.lock.json b/src/DicomWebClient/CLI/packages.lock.json index 997a169e1..dcd37d8e5 100644 --- a/src/DicomWebClient/CLI/packages.lock.json +++ b/src/DicomWebClient/CLI/packages.lock.json @@ -1492,4 +1492,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj index 8dc7fdd46..3f8cc84e2 100644 --- a/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj +++ b/src/DicomWebClient/Test/Monai.Deploy.InformaticsGateway.DicomWeb.Client.Test.csproj @@ -38,7 +38,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Moq" Version="4.18.3" /> </ItemGroup> <ItemGroup> diff --git a/src/DicomWebClient/Test/packages.lock.json b/src/DicomWebClient/Test/packages.lock.json index 2fc3a4a23..f6e6413f5 100644 --- a/src/DicomWebClient/Test/packages.lock.json +++ b/src/DicomWebClient/Test/packages.lock.json @@ -29,9 +29,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } diff --git a/src/DicomWebClient/packages.lock.json b/src/DicomWebClient/packages.lock.json index 4a4e2fe62..4650e1b92 100644 --- a/src/DicomWebClient/packages.lock.json +++ b/src/DicomWebClient/packages.lock.json @@ -1260,4 +1260,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index 3ccb85ef4..c928089ba 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -35,7 +35,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.7.4" /> + <PackageReference Include="DotNext.Threading" Version="4.8.0" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> @@ -49,10 +49,10 @@ <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.18" /> - <PackageReference Include="Monai.Deploy.Security" Version="0.1.1" /> - <PackageReference Include="Monai.Deploy.Storage" Version="0.2.11" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.11" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.19" /> + <PackageReference Include="Monai.Deploy.Security" Version="0.1.3" /> + <PackageReference Include="Monai.Deploy.Storage" Version="0.2.13" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.13" /> <PackageReference Include="NLog.Web.AspNetCore" Version="5.2.0" /> <PackageReference Include="NLog" Version="5.1.0" /> <PackageReference Include="Polly" Version="7.2.3" /> diff --git a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj index 795df0133..658d201d5 100644 --- a/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj +++ b/src/InformaticsGateway/Test/Monai.Deploy.InformaticsGateway.Test.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2021-2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -36,10 +36,10 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.2.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.12" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="Moq" Version="4.18.2" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="Moq" Version="4.18.3" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index ae1ff5308..d320722f6 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -22,11 +22,11 @@ }, "Microsoft.EntityFrameworkCore.InMemory": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "2h5Pyy5e5EJhvMVl1UGPTLst1Q/+8rwEIvjsFwQDrsOmbsgzlbkvCJM2K89wvjA3UKAn5nTyRxCzKu9MMaJYkg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "6A42n1ehuWTIsqbOzcA82aNePXF+xrrSfiD0wbW99NCDpNra4m6A3EkFS1yb8hDkc7yY64BkNQV5YhsB/5UgBA==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11" + "Microsoft.EntityFrameworkCore": "6.0.12" } }, "Microsoft.NET.Test.Sdk": { @@ -41,9 +41,9 @@ }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -60,14 +60,13 @@ "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -152,19 +151,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "resolved": "4.8.0", + "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "resolved": "4.8.0", + "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", "dependencies": { - "DotNext": "4.7.4", - "System.Threading.Channels": "6.0.0" + "DotNext": "4.8.0", + "System.Threading.Channels": "7.0.0" } }, "fo-dicom": { @@ -443,11 +442,11 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -457,13 +456,13 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", @@ -948,8 +947,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -957,16 +956,15 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", + "resolved": "0.1.19", + "contentHash": "o4eq4yHUQ/vZnYbT2aWlhIvtAtTdPTHqo5jR0wpl6xmebKidB3RGIq6lqX6fbzBjByUYzzA2AzNoCPykL56NkA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.18", + "Monai.Deploy.Messaging": "0.1.19", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" @@ -974,8 +972,8 @@ }, "Monai.Deploy.Security": { "type": "Transitive", - "resolved": "0.1.1", - "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "resolved": "0.1.3", + "contentHash": "9/E/UEK9Foo1cUHRRgNIR8uk+oTLiBbzR2vqBsxIo1EwbduDVuBGFcIh2lpAJZmFFwBNv0KtmTASdD3w5UWd+g==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", @@ -988,37 +986,36 @@ }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.MinIO": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", + "resolved": "0.2.13", + "contentHash": "v6SChjnSOMcUDXN5jPmsWFSfv/fDlql48/rKONAQ0DQSoYMzKjFLt98M0uazvfiIzXEK2q63x1IqZxTZdPDqhQ==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.11", - "Monai.Deploy.Storage.S3Policy": "0.2.11" + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.S3Policy": "0.2.13" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -1420,6 +1417,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1814,8 +1816,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + "resolved": "7.0.0", + "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1842,19 +1844,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1909,7 +1898,7 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", + "DotNext.Threading": "[4.8.0, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", @@ -1924,10 +1913,10 @@ "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", - "Monai.Deploy.Security": "[0.1.1, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", + "Monai.Deploy.Security": "[0.1.3, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "Monai.Deploy.Storage.MinIO": "[0.2.13, )", "NLog": "[5.1.0, )", "NLog.Web.AspNetCore": "[5.2.0, )", "Polly": "[7.2.3, )", @@ -1940,10 +1929,10 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client.common": { @@ -1957,8 +1946,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1969,9 +1958,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json index e361466f7..141f0ca9b 100644 --- a/src/InformaticsGateway/packages.lock.json +++ b/src/InformaticsGateway/packages.lock.json @@ -13,12 +13,12 @@ }, "DotNext.Threading": { "type": "Direct", - "requested": "[4.7.4, )", - "resolved": "4.7.4", - "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "requested": "[4.8.0, )", + "resolved": "4.8.0", + "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", "dependencies": { - "DotNext": "4.7.4", - "System.Threading.Channels": "6.0.0" + "DotNext": "4.8.0", + "System.Threading.Channels": "7.0.0" } }, "fo-dicom": { @@ -161,11 +161,11 @@ }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Direct", - "requested": "[0.1.18, )", - "resolved": "0.1.18", - "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", + "requested": "[0.1.19, )", + "resolved": "0.1.19", + "contentHash": "o4eq4yHUQ/vZnYbT2aWlhIvtAtTdPTHqo5jR0wpl6xmebKidB3RGIq6lqX6fbzBjByUYzzA2AzNoCPykL56NkA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.18", + "Monai.Deploy.Messaging": "0.1.19", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" @@ -173,9 +173,9 @@ }, "Monai.Deploy.Security": { "type": "Direct", - "requested": "[0.1.1, )", - "resolved": "0.1.1", - "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "requested": "[0.1.3, )", + "resolved": "0.1.3", + "contentHash": "9/E/UEK9Foo1cUHRRgNIR8uk+oTLiBbzR2vqBsxIo1EwbduDVuBGFcIh2lpAJZmFFwBNv0KtmTASdD3w5UWd+g==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", @@ -188,33 +188,32 @@ }, "Monai.Deploy.Storage": { "type": "Direct", - "requested": "[0.2.11, )", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "requested": "[0.2.13, )", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.MinIO": { "type": "Direct", - "requested": "[0.2.11, )", - "resolved": "0.2.11", - "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", + "requested": "[0.2.13, )", + "resolved": "0.2.13", + "contentHash": "v6SChjnSOMcUDXN5jPmsWFSfv/fDlql48/rKONAQ0DQSoYMzKjFLt98M0uazvfiIzXEK2q63x1IqZxTZdPDqhQ==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.11", - "Monai.Deploy.Storage.S3Policy": "0.2.11" + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.S3Policy": "0.2.13" } }, "NLog": { @@ -290,8 +289,8 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "resolved": "4.8.0", + "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } @@ -343,8 +342,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -744,8 +743,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -753,14 +752,13 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -1139,6 +1137,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1528,8 +1531,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + "resolved": "7.0.0", + "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1556,19 +1559,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -1578,10 +1568,10 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client.common": { @@ -1595,8 +1585,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1607,9 +1597,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index d644f36d1..ec2cc7dd7 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -34,9 +34,9 @@ <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Minio" Version="4.0.6" /> - <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.18" /> - <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.11" /> - <PackageReference Include="Moq" Version="4.18.2" /> + <PackageReference Include="Monai.Deploy.Messaging.RabbitMQ" Version="0.1.19" /> + <PackageReference Include="Monai.Deploy.Storage.MinIO" Version="0.2.13" /> + <PackageReference Include="Moq" Version="4.18.3" /> <PackageReference Include="Polly" Version="7.2.3" /> <PackageReference Include="RabbitMQ.Client" Version="6.4.0" /> <PackageReference Include="SpecFlow.Plus.LivingDocPlugin" Version="3.9.57" /> diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index 8cb39f9b7..6069677e1 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -128,11 +128,11 @@ }, "Monai.Deploy.Messaging.RabbitMQ": { "type": "Direct", - "requested": "[0.1.18, )", - "resolved": "0.1.18", - "contentHash": "XcX6Trrvx1ofieF9mAGfgtQ5Zm1NFrlZGDldlQTrMoWKmY/+Aj/vzQj8hKUCuaia+KxiMzERF3sGhVo8QoZnbA==", + "requested": "[0.1.19, )", + "resolved": "0.1.19", + "contentHash": "o4eq4yHUQ/vZnYbT2aWlhIvtAtTdPTHqo5jR0wpl6xmebKidB3RGIq6lqX6fbzBjByUYzzA2AzNoCPykL56NkA==", "dependencies": { - "Monai.Deploy.Messaging": "0.1.18", + "Monai.Deploy.Messaging": "0.1.19", "Polly": "7.2.3", "RabbitMQ.Client": "6.4.0", "System.Collections.Concurrent": "4.3.0" @@ -140,24 +140,24 @@ }, "Monai.Deploy.Storage.MinIO": { "type": "Direct", - "requested": "[0.2.11, )", - "resolved": "0.2.11", - "contentHash": "zMtDUYxqhAsKzm0b4zIP4bw2y7oOM4Ua4yucTxjBXl4OZh3nxYK6oSjy4Y7izKKAjnHBNLsKGvFUAdyZHRRZcg==", + "requested": "[0.2.13, )", + "resolved": "0.2.13", + "contentHash": "v6SChjnSOMcUDXN5jPmsWFSfv/fDlql48/rKONAQ0DQSoYMzKjFLt98M0uazvfiIzXEK2q63x1IqZxTZdPDqhQ==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Logging": "6.0.0", "Microsoft.Extensions.Options": "6.0.0", "Minio": "4.0.6", - "Monai.Deploy.Storage": "0.2.11", - "Monai.Deploy.Storage.S3Policy": "0.2.11" + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.S3Policy": "0.2.13" } }, "Moq": { "type": "Direct", - "requested": "[4.18.2, )", - "resolved": "4.18.2", - "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "requested": "[4.18.3, )", + "resolved": "4.18.3", + "contentHash": "nmV2lludVOFmVi+Vtq9twX1/SDiEVyYDURzxW39gUBqjyoXmdyNwJSeOfSCJoJTXDXBVfFNfEljB5UWGj/cKnQ==", "dependencies": { "Castle.Core": "5.1.0" } @@ -288,19 +288,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", + "resolved": "4.8.0", + "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.7.4", - "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", + "resolved": "4.8.0", + "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", "dependencies": { - "DotNext": "4.7.4", - "System.Threading.Channels": "6.0.0" + "DotNext": "4.8.0", + "System.Threading.Channels": "7.0.0" } }, "fo-dicom.NLog": { @@ -380,8 +380,8 @@ }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "KJCJjFMZFGYy0G8a8ZUwAe9n/l6P+dP3i4fQJmR4jR0/EFnlfeNeWh8n6nRhP+9YmNz290twaIZSbRoiGU6S2A==" + "resolved": "6.0.12", + "contentHash": "hvRytAcLhrb35HmtMjYWsNZZLt39ryuN7j04lDchRa9VToreyqgo5gMniTdQ6MfCflxtGnDes65V/Y2pjbEyWg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", @@ -805,8 +805,8 @@ }, "Monai.Deploy.Messaging": { "type": "Transitive", - "resolved": "0.1.18", - "contentHash": "g32wrHpF4hP+HatewxWAdX4LLk2jW1dTVMGooXgA5qIVpm1lhsPtCvodmKqIxI2UHtSatXrH5uy19WAR7yFAEA==", + "resolved": "0.1.19", + "contentHash": "XP9AFsjbYsv8xGc5yTSE1SL6zuBoNZJQx/GGEd/NLwl+YiaCZA7MfHrnGp7wz9Me03+nlyGpLEiKlSVljpCXtg==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", @@ -814,14 +814,13 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Security": { "type": "Transitive", - "resolved": "0.1.1", - "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", + "resolved": "0.1.3", + "contentHash": "9/E/UEK9Foo1cUHRRgNIR8uk+oTLiBbzR2vqBsxIo1EwbduDVuBGFcIh2lpAJZmFFwBNv0KtmTASdD3w5UWd+g==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", @@ -834,23 +833,22 @@ }, "Monai.Deploy.Storage": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "49ZDyrmnDqkV8YZQAABZzrqa4ynvVeNOCFL3xptGoalERsgOpRRHIDDeoeMuXe2lCtJ5sQcRzh2GDacD2REkBA==", + "resolved": "0.2.13", + "contentHash": "n8GpFPA/MNaTywz/xRRb1KpJONs+dy7QAjKsk6fQrviMrU9jtXJsv6BuodX9kqzLL6npA63gweHRUDljQJLUEw==", "dependencies": { "AWSSDK.SecurityToken": "3.7.100.25", "Ardalis.GuardClauses": "4.0.1", "Microsoft.Extensions.Configuration": "6.0.1", "Microsoft.Extensions.Diagnostics.HealthChecks": "6.0.10", "Microsoft.Extensions.Logging": "6.0.0", - "Monai.Deploy.Storage.S3Policy": "0.2.11", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "Monai.Deploy.Storage.S3Policy": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { "type": "Transitive", - "resolved": "0.2.11", - "contentHash": "MSvHf//0j5IamEhMbQZgcBqMNXt4NghUS2/ui07BntcraSh2Xrig6GgM45vKdMTz515WUoEjhihY0Lz6sxUKmA==", + "resolved": "0.2.13", + "contentHash": "Cvquf6VH8IHwq9rAmWZse3XZpM9HUsF5/f9wfuKfrNyCM/xRnbVTc8GrOOVGe+SUNg+GAcc0vWiX1efGyOmFyw==", "dependencies": { "Ardalis.GuardClauses": "4.0.1", "Newtonsoft.Json": "13.0.2" @@ -1285,6 +1283,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1694,8 +1697,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" + "resolved": "7.0.0", + "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1722,19 +1725,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "Validation": { "type": "Transitive", "resolved": "2.4.18", @@ -1803,7 +1793,7 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", + "DotNext.Threading": "[4.8.0, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", "Microsoft.EntityFrameworkCore": "[6.0.11, )", @@ -1818,10 +1808,10 @@ "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.18, )", - "Monai.Deploy.Security": "[0.1.1, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "Monai.Deploy.Storage.MinIO": "[0.2.11, )", + "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", + "Monai.Deploy.Security": "[0.1.3, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "Monai.Deploy.Storage.MinIO": "[0.2.13, )", "NLog": "[5.1.0, )", "NLog.Web.AspNetCore": "[5.2.0, )", "Polly": "[7.2.3, )", @@ -1834,10 +1824,10 @@ "type": "Project", "dependencies": { "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.11, )", + "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )" } }, "monai.deploy.informaticsgateway.client": { @@ -1860,8 +1850,8 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", + "System.IO.Abstractions": "[17.2.3, )", "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", "fo-dicom": "[5.0.3, )" } }, @@ -1872,9 +1862,9 @@ "Microsoft.Extensions.Options": "[6.0.0, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.18, )", - "Monai.Deploy.Storage": "[0.2.11, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Monai.Deploy.Messaging": "[0.1.19, )", + "Monai.Deploy.Storage": "[0.2.13, )", + "System.IO.Abstractions": "[17.2.3, )" } }, "monai.deploy.informaticsgateway.database": { From 3252f40d3a413d663c0f5ff7d8a6ef8d35be95fe Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 15 Dec 2022 08:01:50 -0800 Subject: [PATCH 098/101] Record user access to POST (create) /PUT (edit) API calls in database (#291) * Stores username & date of to AE create/update API calls Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 51 +- docs/changelog.md | 25 +- docs/compliance/third-party-licenses.md | 639 +++++------------- src/Api/BaseApplicationEntity.cs | 41 +- src/Api/DicomAssociationInfo.cs | 16 +- src/Api/EditMode.cs | 25 + src/Api/LoggingDataDictionary.cs | 2 +- ...Monai.Deploy.InformaticsGateway.Api.csproj | 1 + src/Api/MonaiApplicationEntity.cs | 23 +- src/Api/Rest/DicomWebConnectionDetails.cs | 6 +- src/Api/Rest/FhirResources.cs | 6 +- src/Api/Rest/InferenceRequest.cs | 24 +- src/Api/Rest/InferenceRequestDetails.cs | 12 +- src/Api/Rest/InferenceRequestMetadata.cs | 4 +- src/Api/Rest/InferenceRequestResponse.cs | 2 +- src/Api/Rest/InferenceStatusResponse.cs | 2 +- src/Api/Rest/InputConnectionDetails.cs | 4 +- src/Api/Rest/RequestInputDataResource.cs | 2 +- src/Api/Rest/RequestOutputDataResource.cs | 2 +- src/Api/Rest/RequestedInstance.cs | 2 +- src/Api/Rest/RequestedSeries.cs | 4 +- src/Api/Rest/RequestedStudy.cs | 4 +- src/Api/Storage/DicomFileStorageMetadata.cs | 12 +- src/Api/Storage/FhirFileStorageMetadata.cs | 6 +- src/Api/Storage/FileStorageMetadata.cs | 10 +- src/Api/Storage/Hl7FileStorageMetadata.cs | 2 +- src/Api/Storage/Payload.cs | 6 +- src/Api/Storage/StorageObjectMetadata.cs | 28 +- src/Api/Test/packages.lock.json | 2 +- src/Api/packages.lock.json | 2 +- src/CLI/Commands/SourceCommand.cs | 3 +- src/CLI/Test/ConfigurationServiceTest.cs | 23 +- src/CLI/Test/DestinationCommandTest.cs | 1 - src/CLI/Test/SourceCommandTest.cs | 1 - src/CLI/Test/packages.lock.json | 2 +- src/CLI/packages.lock.json | 2 +- src/Client/Configuration.cs | 1 - src/Client/Test/AeTitleServiceTest.cs | 1 - src/Client/Test/packages.lock.json | 91 ++- src/Client/packages.lock.json | 2 +- src/Common/Test/packages.lock.json | 2 +- src/Common/packages.lock.json | 2 +- src/Configuration/StorageConfiguration.cs | 1 - .../Test/ValidationExtensionsTest.cs | 6 +- src/Configuration/Test/packages.lock.json | 2 +- src/Configuration/packages.lock.json | 2 +- ...loy.InformaticsGateway.Database.Api.csproj | 2 +- .../IDicomAssociationInfoRepository.cs | 1 - .../Api/Repositories/IPayloadRepository.cs | 1 - .../StorageMetadataRepositoryBase.cs | 3 + .../Configuration => Api}/SR.cs | 2 +- src/Database/Api/StorageMetadataWrapper.cs | 1 - src/Database/Api/Test/packages.lock.json | 16 +- src/Database/Api/packages.lock.json | 16 +- src/Database/DatabaseMigrationManager.cs | 1 - ...stinationApplicationEntityConfiguration.cs | 4 + .../DicomAssociationInfoConfiguration.cs | 1 + .../InferenceRequestConfiguration.cs | 8 +- .../MonaiApplicationEntityConfiguration.cs | 2 + .../SourceApplicationEntityConfiguration.cs | 4 + .../InformaticsGatewayContext.cs | 2 +- .../InformaticsGatewayContextFactory.cs | 2 +- .../20220203222116_R1_Initialize.cs | 1 - .../Migrations/20221010184458_R3_0.3.2.cs | 2 - .../Migrations/20221116172042_R3_0.3.4.cs | 3 +- .../Migrations/20221123174502_R3_0.3.5.cs | 3 +- .../20221215010255_R3_0.3.6.Designer.cs | 313 +++++++++ .../Migrations/20221215010255_R3_0.3.6.cs | 215 ++++++ .../InformaticsGatewayContextModelSnapshot.cs | 36 +- ...icsGateway.Database.EntityFramework.csproj | 6 +- .../EntityFramework/Test/packages.lock.json | 59 +- .../EntityFramework/packages.lock.json | 79 ++- ....Deploy.InformaticsGateway.Database.csproj | 3 +- .../MonaiApplicationEntityConfiguration.cs | 3 - .../MongoDBEntityBaseConfiguration.cs | 1 + .../Integration.Test/packages.lock.json | 16 +- src/Database/MongoDB/packages.lock.json | 16 +- src/Database/packages.lock.json | 73 +- src/DicomWebClient/API/IDicomWebClient.cs | 3 + src/DicomWebClient/API/IServiceBase.cs | 2 + src/DicomWebClient/DicomWebClient.cs | 1 + .../Common/FileStorageMetadataExtensions.cs | 2 + .../Log.2000.InferenceRequestRepository.cs | 4 - .../Monai.Deploy.InformaticsGateway.csproj | 6 +- .../Export/ExportRequestEventDetails.cs | 4 +- .../Services/Export/ExportServiceBase.cs | 1 - .../Services/HealthLevel7/MllpService.cs | 1 - .../Http/DestinationAeTitleController.cs | 2 + .../Services/Http/InferenceController.cs | 1 + .../Services/Http/MonaiAeTitleController.cs | 1 + .../Services/Http/SourceAeTitleController.cs | 2 + .../Services/Http/Startup.cs | 10 +- .../Services/Scp/ApplicationEntityManager.cs | 1 - .../Services/Scp/ScpService.cs | 1 - .../Services/Storage/ObjectUploadService.cs | 1 - .../Test/DummyMessagingService.cs | 2 + .../Services/Export/ExportServiceBaseTest.cs | 2 - .../Test/Services/Fhir/FhirServiceTest.cs | 4 +- .../Http/DestinationAeTitleControllerTest.cs | 47 +- .../Services/Http/InferenceControllerTest.cs | 7 +- .../Http/MonaiAeTitleControllerTest.cs | 7 +- .../Services/Http/MonaiHealthCheckTest.cs | 3 - .../Http/SourceAeTitleControllerTest.cs | 42 ++ .../Test/Services/Http/StartupTest.cs | 1 - .../Test/Services/Scu/ScuServiceTest.cs | 12 +- src/InformaticsGateway/Test/appsettings.json | 2 +- .../Test/packages.lock.json | 79 ++- .../appsettings.Development.json | 2 +- src/InformaticsGateway/appsettings.Test.json | 2 +- src/InformaticsGateway/appsettings.json | 10 +- src/InformaticsGateway/nlog.config | 27 +- src/InformaticsGateway/packages.lock.json | 91 ++- tests/Integration.Test/Common/Assertions.cs | 1 - .../Common/DicomCEchoDataClient.cs | 1 - .../Common/DicomCStoreDataClient.cs | 2 - tests/Integration.Test/Common/IDataClient.cs | 1 - .../Drivers/IDatabaseDataProvider.cs | 1 + .../Drivers/RabbitMqConsumer.cs | 4 +- tests/Integration.Test/Hooks/TestHooks.cs | 1 - ...InformaticsGateway.Integration.Test.csproj | 4 +- tests/Integration.Test/appsettings.json | 2 +- tests/Integration.Test/nlog.config | 21 +- tests/Integration.Test/packages.lock.json | 95 ++- tests/Integration.Test/study.json | 2 +- 124 files changed, 1458 insertions(+), 1062 deletions(-) create mode 100644 src/Api/EditMode.cs rename src/Database/{EntityFramework/Configuration => Api}/SR.cs (92%) create mode 100644 src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.Designer.cs create mode 100644 src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.cs diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 8491f19ac..b0f7f4063 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -74,14 +74,14 @@ - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.8.0 + - 4.7.4 :when: 2022-09-01 23:05:32.857032968 Z - - :approve - DotNext.Threading - :who: mocsharp :why: MIT (https://github.com/dotnet/dotNext/raw/master/LICENSE) :versions: - - 4.8.0 + - 4.7.4 :when: 2022-09-01 23:05:33.298402277 Z - - :approve - FluentAssertions @@ -93,7 +93,7 @@ - - :approve - Gherkin - :who: mocsharp - :why: MIT (https://github.com/cucumber/common/raw/main/LICENSE) + :why: MIT (https://github.com/cucumber/gherkin/raw/main/LICENSE) :versions: - 19.0.3 :when: 2022-08-16 23:05:34.184272525 Z @@ -326,63 +326,63 @@ - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:49.698463427 Z - - :approve - Microsoft.EntityFrameworkCore - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:50.137694970 Z - - :approve - Microsoft.EntityFrameworkCore.Abstractions - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:51.008105271 Z - - :approve - Microsoft.EntityFrameworkCore.Analyzers - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:51.445711308 Z - - :approve - Microsoft.EntityFrameworkCore.Design - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:51.922790944 Z - - :approve - Microsoft.EntityFrameworkCore.InMemory - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:52.375150938 Z - - :approve - Microsoft.EntityFrameworkCore.Relational - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:52.828879230 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:53.270526921 Z - - :approve - Microsoft.EntityFrameworkCore.Sqlite.Core - :who: mocsharp :why: MIT (https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) :versions: - - 6.0.11 + - 6.0.12 :when: 2022-08-16 23:05:53.706997823 Z - - :approve - Microsoft.Extensions.ApiDescription.Server @@ -787,42 +787,42 @@ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.18 + - 0.1.19 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Monai.Deploy.Messaging.RabbitMQ - :who: neilsouth :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) :versions: - - 0.1.18 + - 0.1.19 :when: 2022-08-16 23:06:21.511789690 Z - - :approve - Monai.Deploy.Storage - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.11 + - 0.2.13 :when: 2022-08-16 23:06:21.988183476 Z - - :approve - Monai.Deploy.Storage.MinIO - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.11 + - 0.2.13 :when: 2022-08-16 23:06:22.426838304 Z - - :approve - Monai.Deploy.Storage.S3Policy - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) :versions: - - 0.2.11 + - 0.2.13 :when: 2022-08-16 23:06:22.881956546 Z - - :approve - Monai.Deploy.Security - :who: mocsharp :why: Apache-2.0 (https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) :versions: - - 0.1.2 + - 0.1.3 :when: 2022-08-16 23:06:21.051573547 Z - - :approve - Moq @@ -901,28 +901,28 @@ - :who: mocsharp :why: Apache-2.0 (https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) :versions: - - 2.0.6 + - 2.1.2 :when: 2022-08-16 23:06:29.241291848 Z - - :approve - SQLitePCLRaw.core - :who: mocsharp :why: Apache-2.0 (https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) :versions: - - 2.0.6 + - 2.1.2 :when: 2022-08-16 23:06:29.688111783 Z - - :approve - SQLitePCLRaw.lib.e_sqlite3 - :who: mocsharp :why: Apache-2.0 (https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) :versions: - - 2.0.6 + - 2.1.2 :when: 2022-08-16 23:06:30.132403902 Z - - :approve - SQLitePCLRaw.provider.e_sqlite3 - :who: mocsharp :why: Apache-2.0 (https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) :versions: - - 2.0.6 + - 2.1.2 :when: 2022-08-16 23:06:30.585184235 Z - - :approve - SharpZipLib @@ -1226,13 +1226,6 @@ :versions: - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z -- - :approve - - System.IO.Abstractions.Extensions - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) - :versions: - - 1.0.34 - :when: 2022-08-16 23:06:50.602318269 Z - - :approve - System.IO.Abstractions.TestingHelpers - :who: mocsharp diff --git a/docs/changelog.md b/docs/changelog.md index ecefdc3d3..a6ac1ce42 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -17,13 +17,34 @@ # Changelog +## 0.3.6 + +[GitHub Milestone 0.3.6](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/12) + +- Adds support for basic auth with Monai.Deploy.Security 0.1.3. +- Updates APIs to store the username of the person who initiated the calls. +- Fixes database health checks not using the configured database. + +## 0.3.5 + +[GitHub Milestone 0.3.6](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/11) + +- Integrates Monai.Deploy.Security to enable OpenID Connect for API authentication. +- Records DICOM association information in the database. + +## 0.3.4 + +[GitHub Milestone 0.3.4](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/10) + +- Adds support for MongoDB in addition to SQLite. +- Improves validation for AE Title, IP address, and host/domain names. ## 0.3.3 [GitHub Milestone 0.3.3](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/milestone/9) - Ability to create storage buckets on startup -- Include logging scope values for LogStash +- Includes logging scope values for LogStash ## 0.3.2 @@ -47,7 +68,7 @@ - New [C-ECHO API](api/rest/config.md) to perform a DICOM C-ECHO to a configured DICOM destination. - The SCU AE Title is now uppercase MONAISCU. -- Update fo-dicom to 5.0.3 +- Updates fo-dicom to 5.0.3 - Defaults temporary storage to use disk with ability to switch to memory. ## 0.3.0 diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index dde22ae97..4bab9e488 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -59,226 +59,6 @@ SOFTWARE. -<details> -<summary>AspNetCore.HealthChecks.MongoDb 6.0.2</summary> - -## xunit.runner.visualstudio - -- Version: 6.0.2 -- Authors: Xabaril -- Project URL: https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks -- Source: [NuGet](https://www.nuget.org/packages/AspNetCore.HealthChecks.MongoDb#versions-body-tab/6.0.2) -- License: [MIT]( https://licenses.nuget.org/Apache-2.0) - - -``` - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -``` - -</details> - - - <details> <summary>AWSSDK.Core 3.7.100.25</summary> @@ -1185,14 +965,14 @@ SOFTWARE. <details> -<summary>DotNext 4.8.0</summary> +<summary>DotNext 4.7.4</summary> ## DotNext -- Version: 4.8.0 +- Version: 4.7.4 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.8.0) +- Source: [NuGet](https://www.nuget.org/packages/DotNext/4.7.4) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -1224,14 +1004,14 @@ SOFTWARE. <details> -<summary>DotNext.Threading 4.8.0</summary> +<summary>DotNext.Threading 4.7.4</summary> ## DotNext.Threading -- Version: 4.8.0 +- Version: 4.7.4 - Authors: .NET Foundation and Contributors - Project URL: https://dotnet.github.io/dotNext/ -- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.8.0) +- Source: [NuGet](https://www.nuget.org/packages/DotNext.Threading/4.7.4) - License: [MIT](https://github.com/dotnet/dotNext/raw/master/LICENSE) @@ -1480,13 +1260,13 @@ third-party archives. - Authors: Cucumber Ltd, Gaspar Nagy - Project URL: https://github.com/cucumber/common/tree/main/gherkin - Source: [NuGet](https://www.nuget.org/packages/Gherkin/19.0.3) -- License: [MIT](https://github.com/cucumber/common/raw/main/LICENSE) +- License: [MIT](https://github.com/cucumber/gherkin/raw/main/LICENSE) ``` The MIT License (MIT) -Copyright (c) Cucumber Ltd +Copyright (c) Cucumber Ltd, Gaspar Nagy, Björn Rasmusson, Peter Sergeant Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1495,16 +1275,16 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. ``` </details> @@ -3378,14 +3158,14 @@ SOFTWARE. <details> -<summary>Microsoft.Data.Sqlite.Core 6.0.11</summary> +<summary>Microsoft.Data.Sqlite.Core 6.0.12</summary> ## Microsoft.Data.Sqlite.Core -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/dotnet/standard/data/sqlite/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.Data.Sqlite.Core/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3419,14 +3199,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore 6.0.12</summary> ## Microsoft.EntityFrameworkCore -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3460,14 +3240,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Abstractions 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Abstractions -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Abstractions/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3501,14 +3281,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Analyzers 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Analyzers -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Analyzers/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3542,14 +3322,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Design 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Design 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Design -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Design/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3583,14 +3363,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.InMemory 6.0.12</summary> ## Microsoft.EntityFrameworkCore.InMemory -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.InMemory/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3624,14 +3404,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Relational 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Relational 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Relational -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3665,14 +3445,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Sqlite -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -3706,14 +3486,14 @@ SOFTWARE. <details> -<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.11</summary> +<summary>Microsoft.EntityFrameworkCore.Sqlite.Core 6.0.12</summary> ## Microsoft.EntityFrameworkCore.Sqlite.Core -- Version: 6.0.11 +- Version: 6.0.12 - Authors: Microsoft - Project URL: https://docs.microsoft.com/ef/core/ -- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.11) +- Source: [NuGet](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite.Core/6.0.12) - License: [MIT](https://raw.githubusercontent.com/dotnet/efcore/release/6.0/LICENSE.txt) @@ -7264,14 +7044,14 @@ Apache License <details> -<summary>Monai.Deploy.Messaging 0.1.18</summary> +<summary>Monai.Deploy.Messaging 0.1.19</summary> ## Monai.Deploy.Messaging -- Version: 0.1.18 +- Version: 0.1.19 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.18) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging/0.1.19) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7492,14 +7272,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.18</summary> +<summary>Monai.Deploy.Messaging.RabbitMQ 0.1.19</summary> ## Monai.Deploy.Messaging.RabbitMQ -- Version: 0.1.18 +- Version: 0.1.19 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-messaging -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.18) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Messaging.RabbitMQ/0.1.19) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-messaging/raw/main/LICENSE) @@ -7720,14 +7500,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Security 0.1.2</summary> +<summary>Monai.Deploy.Security 0.1.3</summary> ## Monai.Deploy.Security -- Version: 0.1.2 +- Version: 0.1.3 - Authors: MONAI Consortium -- Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Security/0.1.2) +- Project URL: https://github.com/Project-MONAI/monai-deploy-security +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Security/0.1.3) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-security/raw/develop/LICENSE) @@ -7948,14 +7728,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage 0.2.11</summary> +<summary>Monai.Deploy.Storage 0.2.13</summary> ## Monai.Deploy.Storage -- Version: 0.2.11 +- Version: 0.2.13 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.11) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage/0.2.13) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8176,14 +7956,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.MinIO 0.2.11</summary> +<summary>Monai.Deploy.Storage.MinIO 0.2.13</summary> ## Monai.Deploy.Storage.MinIO -- Version: 0.2.11 +- Version: 0.2.13 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.11) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.MinIO/0.2.13) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -8404,14 +8184,14 @@ By downloading this software, you agree to the license terms & all licenses list <details> -<summary>Monai.Deploy.Storage.S3Policy 0.2.11</summary> +<summary>Monai.Deploy.Storage.S3Policy 0.2.13</summary> ## Monai.Deploy.Storage.S3Policy -- Version: 0.2.11 +- Version: 0.2.13 - Authors: MONAI Consortium - Project URL: https://github.com/Project-MONAI/monai-deploy-storage -- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.11) +- Source: [NuGet](https://www.nuget.org/packages/Monai.Deploy.Storage.S3Policy/0.2.13) - License: [Apache-2.0](https://github.com/Project-MONAI/monai-deploy-storage/raw/main/LICENSE) @@ -9750,13 +9530,13 @@ Apache License <details> -<summary>SQLitePCLRaw.bundle_e_sqlite3 2.0.6</summary> +<summary>SQLitePCLRaw.bundle_e_sqlite3 2.1.2</summary> ## SQLitePCLRaw.bundle_e_sqlite3 -- Version: 2.0.6 +- Version: 2.1.2 - Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.bundle_e_sqlite3/2.0.6) +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.bundle_e_sqlite3/2.1.2) - License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) @@ -9968,13 +9748,13 @@ Apache License <details> -<summary>SQLitePCLRaw.core 2.0.6</summary> +<summary>SQLitePCLRaw.core 2.1.2</summary> ## SQLitePCLRaw.core -- Version: 2.0.6 +- Version: 2.1.2 - Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.core/2.0.6) +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.core/2.1.2) - License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) @@ -10186,13 +9966,13 @@ Apache License <details> -<summary>SQLitePCLRaw.lib.e_sqlite3 2.0.6</summary> +<summary>SQLitePCLRaw.lib.e_sqlite3 2.1.2</summary> ## SQLitePCLRaw.lib.e_sqlite3 -- Version: 2.0.6 +- Version: 2.1.2 - Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.lib.e_sqlite3/2.0.6) +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.lib.e_sqlite3/2.1.2) - License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) @@ -10404,13 +10184,13 @@ Apache License <details> -<summary>SQLitePCLRaw.provider.e_sqlite3 2.0.6</summary> +<summary>SQLitePCLRaw.provider.e_sqlite3 2.1.2</summary> ## SQLitePCLRaw.provider.e_sqlite3 -- Version: 2.0.6 +- Version: 2.1.2 - Authors: Eric Sink -- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.provider.e_sqlite3/2.0.6) +- Source: [NuGet](https://www.nuget.org/packages/SQLitePCLRaw.provider.e_sqlite3/2.1.2) - License: [Apache-2.0](https://github.com/ericsink/SQLitePCL.raw/raw/master/LICENSE.TXT) @@ -15731,6 +15511,88 @@ consequential or other damages. </details> +<details> +<summary>System.IO.Abstractions 17.2.3</summary> + +## System.IO.Abstractions + +- Version: 17.2.3 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> + +## System.IO.Abstractions.TestingHelpers + +- Version: 17.2.3 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.IO.Compression 4.3.0</summary> @@ -27969,156 +27831,6 @@ consequential or other damages. </details> -<details> -<summary>System.IO.Abstractions 17.2.3</summary> - -## System.IO.Abstractions - -- Version: 17.2.3 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.Extensions 1.0.34</summary> - -## System.IO.Abstractions.Extensions - -- Version: 1.0.34 -- Authors: Tatham Oddie - Luigi Grilli & friends -- Project URL: https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.Extensions/1.0.34) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) - - -``` -MIT License - -Copyright (c) 2021 Tatham Oddie - Luigi Grilli & friends - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> - -## System.IO.Abstractions.TestingHelpers - -- Version: 17.2.3 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>System.IO.Abstractions.Wrappers 17.2.3</summary> - -## System.IO.Abstractions.Wrappers - -- Version: 17.2.3 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.Wrappers/17.2.3) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>Validation 2.4.18</summary> @@ -28243,7 +27955,7 @@ SOFTWARE. <details> <summary>coverlet.collector 3.2.0</summary> -## ZstdSharp.Port +## coverlet.collector - Version: 3.2.0 - Authors: tonerdo @@ -28252,45 +27964,6 @@ SOFTWARE. - License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) -``` -MIT License - -Copyright (c) 2021 Oleg Stepanischev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>fo-dicom 5.0.3</summary> - -## coverlet.collector - -- Version: 5.0.3 -- Authors: fo-dicom contributors -- Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) -- License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) - - ``` The MIT License (MIT) @@ -28319,14 +27992,14 @@ SOFTWARE. <details> -<summary>fo-dicom.NLog 5.0.3</summary> +<summary>fo-dicom 5.0.3</summary> -## fo-dicom.NLog +## fo-dicom - Version: 5.0.3 - Authors: fo-dicom contributors - Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom.NLog/5.0.3) +- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) - License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) diff --git a/src/Api/BaseApplicationEntity.cs b/src/Api/BaseApplicationEntity.cs index 0ead8f071..ba0199ee6 100644 --- a/src/Api/BaseApplicationEntity.cs +++ b/src/Api/BaseApplicationEntity.cs @@ -15,6 +15,9 @@ * limitations under the License. */ +using System; +using System.Security.Claims; + namespace Monai.Deploy.InformaticsGateway.Api { /// <summary> @@ -29,17 +32,32 @@ public class BaseApplicationEntity : MongoDBEntityBase /// Gets or sets the unique name used to identify a DICOM application entity. /// This value must be unique. /// </summary> - public string Name { get; set; } + public string Name { get; set; } = default!; /// <summary> /// Gets or sets the AE Title (AET) used to identify itself in a DICOM association. /// </summary> - public string AeTitle { get; set; } + public string AeTitle { get; set; } = default!; /// <summary> /// Gets or set the host name or IP address of the AE Title. /// </summary> - public string HostIp { get; set; } + public string HostIp { get; set; } = default!; + + /// <summary> + /// Gets or set the user who created the DICOM entity. + /// </summary> + public string? CreatedBy { get; set; } + + /// <summary> + /// Gets or set the most recent user who updated the DICOM entity. + /// </summary> + public string? UpdatedBy { get; set; } + + /// <summary> + /// Gets or set the most recent date time the DICOM entity was updated. + /// </summary> + public DateTime? DateTimeUpdated { get; set; } public BaseApplicationEntity() { @@ -52,6 +70,23 @@ public void SetDefaultValues() Name = AeTitle; } + public void SetAuthor(ClaimsPrincipal user, EditMode editMode) + { + if (editMode == EditMode.Update) + { + DateTimeUpdated = DateTime.UtcNow; + } + + if (editMode == EditMode.Create) + { + CreatedBy = user.Identity?.Name; + } + else if (editMode == EditMode.Update) + { + UpdatedBy = user.Identity?.Name; + } + } + public override string ToString() { return $"Name: {Name}/AET: {AeTitle}/Host: {HostIp}"; diff --git a/src/Api/DicomAssociationInfo.cs b/src/Api/DicomAssociationInfo.cs index dbcb981d7..786ced01d 100644 --- a/src/Api/DicomAssociationInfo.cs +++ b/src/Api/DicomAssociationInfo.cs @@ -20,15 +20,15 @@ namespace Monai.Deploy.InformaticsGateway.Api { public class DicomAssociationInfo : MongoDBEntityBase { - public DateTime DateTimeDisconnected { get; set; } - public string CorrelationId { get; set; } + public DateTime DateTimeDisconnected { get; set; } = default!; + public string CorrelationId { get; set; } = default!; public int FileCount { get; private set; } - public string CallingAeTitle { get; set; } - public string CalledAeTitle { get; set; } - public string RemoteHost { get; set; } - public int RemotePort { get; set; } - public string Errors { get; set; } - public TimeSpan Duration { get; private set; } + public string CallingAeTitle { get; set; } = default!; + public string CalledAeTitle { get; set; } = default!; + public string RemoteHost { get; set; } = default!; + public int RemotePort { get; set; } = default!; + public string Errors { get; set; } = string.Empty; + public TimeSpan Duration { get; private set; } = default!; public DicomAssociationInfo() { diff --git a/src/Api/EditMode.cs b/src/Api/EditMode.cs new file mode 100644 index 000000000..62dc48217 --- /dev/null +++ b/src/Api/EditMode.cs @@ -0,0 +1,25 @@ +/* + * Copyright 2021-2022 MONAI Consortium + * Copyright 2019-2020 NVIDIA Corporation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +namespace Monai.Deploy.InformaticsGateway.Api +{ + public enum EditMode + { + Create, + Update, + } +} diff --git a/src/Api/LoggingDataDictionary.cs b/src/Api/LoggingDataDictionary.cs index 1f1770cab..695b37e39 100644 --- a/src/Api/LoggingDataDictionary.cs +++ b/src/Api/LoggingDataDictionary.cs @@ -24,7 +24,7 @@ namespace Monai.Deploy.InformaticsGateway.Api { [Serializable] - public class LoggingDataDictionary<K, V> : Dictionary<K, V> + public class LoggingDataDictionary<TKey, TValue> : Dictionary<TKey, TValue> where TKey : notnull { public LoggingDataDictionary() { diff --git a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj index 06678413c..7a14db599 100644 --- a/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj +++ b/src/Api/Monai.Deploy.InformaticsGateway.Api.csproj @@ -23,6 +23,7 @@ <IsTrimmable>true</IsTrimmable> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> diff --git a/src/Api/MonaiApplicationEntity.cs b/src/Api/MonaiApplicationEntity.cs index b98adf9d4..f5878c029 100644 --- a/src/Api/MonaiApplicationEntity.cs +++ b/src/Api/MonaiApplicationEntity.cs @@ -19,6 +19,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Security.Claims; namespace Monai.Deploy.InformaticsGateway.Api { @@ -52,36 +53,36 @@ public class MonaiApplicationEntity : MongoDBEntityBase /// This value must be unique. /// </summary> [Key, Column(Order = 0)] - public string Name { get; set; } + public string Name { get; set; } = default!; /// <summary> /// Gets or sets the AE TItle. /// </summary> - public string AeTitle { get; set; } + public string AeTitle { get; set; } = default!; /// <summary> /// Gets or sets the DICOM tag used to group the instances. /// Defaults to 0020,000D (Study Instance UID). /// Valid DICOM Tags: > Study Instance UID (0020,000D) and Series Instance UID (0020,000E). /// </summary> - public string Grouping { get; set; } + public string Grouping { get; set; } = default!; /// <summary> /// Optional field to map AE to one or more workflows. /// </summary> - public List<string> Workflows { get; set; } + public List<string> Workflows { get; set; } = default!; /// <summary> /// Optional field to specify SOP Class UIDs to ignore. /// <see cref="IgnoredSopClasses"/> and <see cref="AllowedSopClasses"/> are mutually exclusive. /// </summary> - public List<string> IgnoredSopClasses { get; set; } + public List<string> IgnoredSopClasses { get; set; } = default!; /// <summary> /// Optional field to specify accepted SOP Class UIDs. /// <see cref="IgnoredSopClasses"/> and <see cref="AllowedSopClasses"/> are mutually exclusive. /// </summary> - public List<string> AllowedSopClasses { get; set; } + public List<string> AllowedSopClasses { get; set; } = default!; /// <summary> /// Timeout, in seconds, to wait for instances before notifying other subsystems of data arrival @@ -90,6 +91,11 @@ public class MonaiApplicationEntity : MongoDBEntityBase /// </summary> public uint Timeout { get; set; } = 5; + /// <summary> + /// Gets or set the user who created the DICOM entity. + /// </summary> + public string? CreatedBy { get; set; } + public MonaiApplicationEntity() { SetDefaultValues(); @@ -118,5 +124,10 @@ public override string ToString() { return $"Name: {Name}/AET: {AeTitle}"; } + + public void SetAuthor(ClaimsPrincipal user) + { + CreatedBy = user.Identity?.Name; + } } } diff --git a/src/Api/Rest/DicomWebConnectionDetails.cs b/src/Api/Rest/DicomWebConnectionDetails.cs index ed27d1586..2f2e32151 100644 --- a/src/Api/Rest/DicomWebConnectionDetails.cs +++ b/src/Api/Rest/DicomWebConnectionDetails.cs @@ -29,20 +29,20 @@ public class DicomWebConnectionDetails /// Gets or sets a list of permitted operations for the connection. /// </summary> [JsonPropertyName("operations")] - public IList<InputInterfaceOperations> Operations { get; set; } + public IList<InputInterfaceOperations>? Operations { get; set; } /// <summary> /// Gets or sets the resource URI (Uniform Resource Identifier) of the connection. /// </summary> [JsonPropertyName("uri")] - public string Uri { get; set; } + public string? Uri { get; set; } /// <summary> /// Gets or sets the authentication/authorization token of the connection. /// For HTTP basic access authentication, the value must be encoded in based 64 using "{username}:{password}" format. /// </summary> [JsonPropertyName("authID")] - public string AuthId { get; set; } + public string? AuthId { get; set; } /// <summary> /// Gets or sets the type of the authentication token used for the connection. diff --git a/src/Api/Rest/FhirResources.cs b/src/Api/Rest/FhirResources.cs index 65c038538..a2a2ae6b6 100644 --- a/src/Api/Rest/FhirResources.cs +++ b/src/Api/Rest/FhirResources.cs @@ -81,14 +81,14 @@ public class FhirResource /// E.g. Pateitn, Observation. /// </summary> [JsonPropertyName("resourceType")] - public string Type { get; set; } + public string Type { get; set; } = default!; /// <summary> /// Gets or sets the ID of the resource to be retrieved. /// </summary> /// <value></value> [JsonPropertyName("id")] - public string Id { get; set; } + public string Id { get; set; } = default!; /// <summary> /// Internal use only! @@ -96,6 +96,6 @@ public class FhirResource /// </summary> /// <value></value> [JsonPropertyName("isRetrieved")] - public bool IsRetrieved { get; set; } + public bool IsRetrieved { get; set; } = default!; } } diff --git a/src/Api/Rest/InferenceRequest.cs b/src/Api/Rest/InferenceRequest.cs index 5af67be63..0302279bf 100644 --- a/src/Api/Rest/InferenceRequest.cs +++ b/src/Api/Rest/InferenceRequest.cs @@ -19,7 +19,6 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json.Serialization; -using System.Xml.Linq; using Ardalis.GuardClauses; using Monai.Deploy.InformaticsGateway.Common; @@ -83,7 +82,7 @@ public class InferenceRequest /// Gets or set the transaction ID of a request. /// </summary> [JsonPropertyName("transactionID")] - public string TransactionId { get; set; } + public string TransactionId { get; set; } = default!; /// <summary> /// Gets or sets the priority of a request. @@ -101,7 +100,7 @@ public class InferenceRequest /// Gets or sets the details of the data associated with the inference request. /// </summary> [JsonPropertyName("inputMetadata")] - public InferenceRequestMetadata InputMetadata { get; set; } + public InferenceRequestMetadata? InputMetadata { get; set; } /// <summary> /// Gets or set a list of data sources to query/retrieve data from. @@ -109,7 +108,7 @@ public class InferenceRequest /// the order the list was received. /// </summary> [JsonPropertyName("inputResources")] - public IList<RequestInputDataResource> InputResources { get; set; } + public IList<RequestInputDataResource>? InputResources { get; set; } /// <summary> /// Gets or set a list of data sources to export results to. @@ -118,7 +117,17 @@ public class InferenceRequest /// Followed by registering the results using the MONAI App SDK. /// </summary> [JsonPropertyName("outputResources")] - public IList<RequestOutputDataResource> OutputResources { get; set; } + public IList<RequestOutputDataResource>? OutputResources { get; set; } + + /// <summary> + /// Gets or set the user who created the DICOM entity. + /// </summary> + public string? CreatedBy { get; set; } + + /// <summary> + /// Gets or set the date and time the objects first created. + /// </summary> + public DateTime? DateTimeCreated { get; set; } #region Internal Use Only @@ -155,7 +164,7 @@ public class InferenceRequest public int TryCount { get; set; } = 0; [JsonIgnore] - public InputConnectionDetails Application + public InputConnectionDetails? Application { get { @@ -169,6 +178,7 @@ public InferenceRequest() { InputResources = new List<RequestInputDataResource>(); OutputResources = new List<RequestOutputDataResource>(); + DateTimeCreated = DateTime.UtcNow; } public bool IsValid(out string details) @@ -192,7 +202,7 @@ private void Preprocess() if (InputMetadata.Details is not null) { InputMetadata.Inputs.Add(InputMetadata.Details); - InputMetadata.Details = null; + InputMetadata.Details = default!; } } diff --git a/src/Api/Rest/InferenceRequestDetails.cs b/src/Api/Rest/InferenceRequestDetails.cs index 9af0d7066..58ead9ad8 100644 --- a/src/Api/Rest/InferenceRequestDetails.cs +++ b/src/Api/Rest/InferenceRequestDetails.cs @@ -71,12 +71,12 @@ namespace Monai.Deploy.InformaticsGateway.Api.Rest /// </remarks> public class InferenceRequestDetails { - private string _fhirAcceptHeader; + private string _fhirAcceptHeader = default!; /// <summary> /// Gets or sets the type of the inference request. /// </summary> - [JsonConverter(typeof(JsonStringEnumConverter))] + [JsonConverter(typeof(JsonStringEnumMemberConverter))] [JsonPropertyName("type")] public InferenceRequestType Type { get; set; } @@ -85,27 +85,27 @@ public class InferenceRequestDetails /// Used when <c>Type</c> is <see cref="T:Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequestType.DicomUid" />. /// </summary> [JsonPropertyName("studies")] - public IList<RequestedStudy> Studies { get; set; } + public IList<RequestedStudy>? Studies { get; set; } /// <summary> /// Gets or sets Patient ID that is used to query the data source. /// Used when <c>Type</c> is <see cref="T:Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequestType.DicomPatientId" />. /// </summary> [JsonPropertyName("PatientID")] - public string PatientId { get; set; } + public string? PatientId { get; set; } /// <summary> /// Gets or sets Access Number that is used to query the data source. /// Used when <c>Type</c> is <see cref="T:Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequestType.AccessionNumber" />. /// </summary> [JsonPropertyName("accessionNumber")] - public IList<string> AccessionNumber { get; set; } + public IList<string>? AccessionNumber { get; set; } /// <summary> /// Gets or sets a list of FHIR resources to be retrived. /// </summary> [JsonPropertyName("resources")] - public IList<FhirResource> Resources { get; set; } + public IList<FhirResource>? Resources { get; set; } /// <summary> /// Gets or set the data format used when storing FHIR resources. diff --git a/src/Api/Rest/InferenceRequestMetadata.cs b/src/Api/Rest/InferenceRequestMetadata.cs index bd2449cc2..69166f503 100644 --- a/src/Api/Rest/InferenceRequestMetadata.cs +++ b/src/Api/Rest/InferenceRequestMetadata.cs @@ -44,13 +44,13 @@ public class InferenceRequestMetadata /// Gets or sets the details of an inference request. /// </summary> [JsonPropertyName("details")] - public InferenceRequestDetails Details { get; set; } + public InferenceRequestDetails? Details { get; set; } /// <summary> /// Gets or sets an array of inference request details. /// Note: this is an extension to the ACR specs to enable multiple input data types. /// </summary> [JsonPropertyName("inputs")] - public IList<InferenceRequestDetails> Inputs { get; set; } + public IList<InferenceRequestDetails>? Inputs { get; set; } } } diff --git a/src/Api/Rest/InferenceRequestResponse.cs b/src/Api/Rest/InferenceRequestResponse.cs index 3dc0f6a91..4dca001aa 100644 --- a/src/Api/Rest/InferenceRequestResponse.cs +++ b/src/Api/Rest/InferenceRequestResponse.cs @@ -25,6 +25,6 @@ public class InferenceRequestResponse /// <summary> /// Gets or sets the original request transaction ID. /// </summary> - public string TransactionId { get; set; } + public string TransactionId { get; set; } = default!; } } diff --git a/src/Api/Rest/InferenceStatusResponse.cs b/src/Api/Rest/InferenceStatusResponse.cs index 352020478..546cc8981 100644 --- a/src/Api/Rest/InferenceStatusResponse.cs +++ b/src/Api/Rest/InferenceStatusResponse.cs @@ -25,6 +25,6 @@ public class InferenceStatusResponse /// <summary> /// Gets or set the transaction ID of a request. /// </summary> - public string TransactionId { get; set; } + public string TransactionId { get; set; } = default!; } } diff --git a/src/Api/Rest/InputConnectionDetails.cs b/src/Api/Rest/InputConnectionDetails.cs index e1eb37ba3..d8bf363bd 100644 --- a/src/Api/Rest/InputConnectionDetails.cs +++ b/src/Api/Rest/InputConnectionDetails.cs @@ -30,13 +30,13 @@ public class InputConnectionDetails : DicomWebConnectionDetails /// <c>Name</c> is also used as the job name. /// </summary> [JsonPropertyName("name")] - public string Name { get; set; } + public string? Name { get; set; } /// <summary> /// Gets or sets the MONAI Application name or ID. Used when <see cref="T:Monai.Deploy.InformaticsGateway.Api.Rest.InputInterfaceType" /> /// is <see cref="T:Monai.Deploy.InformaticsGateway.Api.Rest.InputInterfaceType.Algorithm" />. /// </summary> [JsonPropertyName("id")] - public string Id { get; set; } + public string? Id { get; set; } } } diff --git a/src/Api/Rest/RequestInputDataResource.cs b/src/Api/Rest/RequestInputDataResource.cs index 55aa5152a..25d2d9aa9 100644 --- a/src/Api/Rest/RequestInputDataResource.cs +++ b/src/Api/Rest/RequestInputDataResource.cs @@ -60,6 +60,6 @@ public class RequestInputDataResource /// Gets or sets connection details of a data source. /// </summary> [JsonPropertyName("connectionDetails")] - public InputConnectionDetails ConnectionDetails { get; set; } + public InputConnectionDetails? ConnectionDetails { get; set; } } } diff --git a/src/Api/Rest/RequestOutputDataResource.cs b/src/Api/Rest/RequestOutputDataResource.cs index 78e7c6114..cb19bfd49 100644 --- a/src/Api/Rest/RequestOutputDataResource.cs +++ b/src/Api/Rest/RequestOutputDataResource.cs @@ -53,6 +53,6 @@ public class RequestOutputDataResource /// Gets or sets connection details of a data source. /// </summary> [JsonPropertyName("connectionDetails")] - public DicomWebConnectionDetails ConnectionDetails { get; set; } + public DicomWebConnectionDetails ConnectionDetails { get; set; } = default!; } } diff --git a/src/Api/Rest/RequestedInstance.cs b/src/Api/Rest/RequestedInstance.cs index 76bae16ed..ab79567f9 100644 --- a/src/Api/Rest/RequestedInstance.cs +++ b/src/Api/Rest/RequestedInstance.cs @@ -32,6 +32,6 @@ public class RequestedInstance /// Gets or sets the SOP Instance UID to be retrieved. /// </summary> [JsonPropertyName("SOPInstanceUID")] - public IList<string> SopInstanceUid { get; set; } + public IList<string>? SopInstanceUid { get; set; } } } diff --git a/src/Api/Rest/RequestedSeries.cs b/src/Api/Rest/RequestedSeries.cs index b98e4a446..5fa18513c 100644 --- a/src/Api/Rest/RequestedSeries.cs +++ b/src/Api/Rest/RequestedSeries.cs @@ -33,12 +33,12 @@ public class RequestedSeries /// Gets or sets the Series Instance UID to be retrieved. /// </summary> [JsonPropertyName("SeriesInstanceUID")] - public string SeriesInstanceUid { get; set; } + public string? SeriesInstanceUid { get; set; } /// <summary> /// Gets or sets a list of DICOM instances to be retrieved. /// </summary> [JsonPropertyName("instances")] - public IList<RequestedInstance> Instances { get; set; } + public IList<RequestedInstance>? Instances { get; set; } } } diff --git a/src/Api/Rest/RequestedStudy.cs b/src/Api/Rest/RequestedStudy.cs index 2db9ac8fc..adc0afb5d 100644 --- a/src/Api/Rest/RequestedStudy.cs +++ b/src/Api/Rest/RequestedStudy.cs @@ -55,12 +55,12 @@ public class RequestedStudy /// Gets or sets the Study Instance UID to be retrieved. /// </summary> [JsonPropertyName("StudyInstanceUID")] - public string StudyInstanceUid { get; set; } + public string? StudyInstanceUid { get; set; } /// <summary> /// Gets or sets a list of DICOM series to be retrieved. /// </summary> [JsonPropertyName("series")] - public IList<RequestedSeries> Series { get; set; } + public IList<RequestedSeries>? Series { get; set; } } } diff --git a/src/Api/Storage/DicomFileStorageMetadata.cs b/src/Api/Storage/DicomFileStorageMetadata.cs index d1a4d19d7..da8dbccd7 100644 --- a/src/Api/Storage/DicomFileStorageMetadata.cs +++ b/src/Api/Storage/DicomFileStorageMetadata.cs @@ -44,25 +44,25 @@ public sealed record DicomFileStorageMetadata : FileStorageMetadata /// For ACR request, this field is empty. /// </summary> [JsonPropertyName("calledAeTitle")] - public string CalledAeTitle { get; set; } + public string CalledAeTitle { get; set; } = default!; /// <summary> /// Gets or set the Study Instance UID of the DICOM instance. /// </summary> [JsonPropertyName("studyInstanceUid")] - public string StudyInstanceUid { get; init; } + public string StudyInstanceUid { get; init; } = default!; /// <summary> /// Gets or set the Series Instance UID of the DICOM instance. /// </summary> [JsonPropertyName("seriesInstanceUid")] - public string SeriesInstanceUid { get; init; } + public string SeriesInstanceUid { get; init; } = default!; /// <summary> /// Gets or set the SOP Instance UID of the DICOM instance. /// </summary> [JsonPropertyName("sopInstanceUid")] - public string SopInstanceUid { get; init; } + public string SopInstanceUid { get; init; } = default!; /// <inheritdoc/> [JsonIgnore] @@ -70,13 +70,13 @@ public sealed record DicomFileStorageMetadata : FileStorageMetadata /// <inheritdoc/> [JsonPropertyName("file")] - public override StorageObjectMetadata File { get; set; } + public override StorageObjectMetadata File { get; set; } = default!; /// <summary> /// Gets the storage object metadata for the JSON file associated with the DICOM instance. /// </summary> [JsonPropertyName("jsonFile")] - public StorageObjectMetadata JsonFile { get; set; } + public StorageObjectMetadata JsonFile { get; set; } = default!; [JsonIgnore] public override bool IsUploaded => base.IsUploaded && JsonFile.IsUploaded; diff --git a/src/Api/Storage/FhirFileStorageMetadata.cs b/src/Api/Storage/FhirFileStorageMetadata.cs index c98629cc6..91907e505 100644 --- a/src/Api/Storage/FhirFileStorageMetadata.cs +++ b/src/Api/Storage/FhirFileStorageMetadata.cs @@ -41,13 +41,13 @@ public sealed record FhirFileStorageMetadata : FileStorageMetadata /// Gets or set the FHIR resource type. /// </summary> [JsonPropertyName("resourceType")] - public string ResourceType { get; set; } + public string ResourceType { get; set; } = default!; /// <summary> /// Gets or set the FHIR resource ID. /// </summary> [JsonPropertyName("resourceId")] - public string ResourceId { get; set; } + public string ResourceId { get; set; } = default!; /// <inheritdoc/> [JsonIgnore] @@ -55,7 +55,7 @@ public sealed record FhirFileStorageMetadata : FileStorageMetadata /// <inheritdoc/> [JsonPropertyName("file")] - public override StorageObjectMetadata File { get; set; } + public override StorageObjectMetadata File { get; set; } = default!; /// <summary> /// DO NOT USE diff --git a/src/Api/Storage/FileStorageMetadata.cs b/src/Api/Storage/FileStorageMetadata.cs index 53c44a410..06b66bff8 100644 --- a/src/Api/Storage/FileStorageMetadata.cs +++ b/src/Api/Storage/FileStorageMetadata.cs @@ -52,7 +52,7 @@ public abstract record FileStorageMetadata /// Gets the unique (user-defined) ID of the file. /// </summary> [JsonPropertyName("id")] - public string Id { get; init; } + public string Id { get; init; } = default!; /// <summary> /// Gets the correlation ID of the file. @@ -60,26 +60,26 @@ public abstract record FileStorageMetadata /// For ACR retrieved DICOM/FHIR files: use the original transaction ID embedded in the request. /// </summary> [JsonPropertyName("correlationId")] - public string CorrelationId { get; init; } + public string CorrelationId { get; init; } = default!; /// <summary> /// Gets or sets the source of the file. /// </summary> [JsonPropertyName("source")] - public string Source { get; set; } + public string Source { get; set; } = default!; /// <summary> /// Gets a list of workflows designated for the file. /// </summary> [JsonPropertyName("workflows"), JsonInclude] - public List<string> Workflows { get; private set; } + public List<string> Workflows { get; private set; } = default!; /// <summary> /// Gets or sets the DateTime that the file was received. /// </summary> /// <value></value> [JsonPropertyName("dateReceived")] - public DateTime DateReceived { get; init; } + public DateTime DateReceived { get; init; } = default!; /// <summary> /// DO NOT USE diff --git a/src/Api/Storage/Hl7FileStorageMetadata.cs b/src/Api/Storage/Hl7FileStorageMetadata.cs index 606a65499..1d9c8ce48 100644 --- a/src/Api/Storage/Hl7FileStorageMetadata.cs +++ b/src/Api/Storage/Hl7FileStorageMetadata.cs @@ -34,7 +34,7 @@ public sealed record Hl7FileStorageMetadata : FileStorageMetadata /// <inheritdoc/> [JsonPropertyName("file")] - public override StorageObjectMetadata File { get; set; } + public override StorageObjectMetadata File { get; set; } = default!; /// <summary> /// DO NOT USE diff --git a/src/Api/Storage/Payload.cs b/src/Api/Storage/Payload.cs index 80a2ccbb1..5b601e07a 100644 --- a/src/Api/Storage/Payload.cs +++ b/src/Api/Storage/Payload.cs @@ -18,9 +18,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using System.Transactions; using Ardalis.GuardClauses; -using Monai.Deploy.InformaticsGateway.Api.Rest; namespace Monai.Deploy.InformaticsGateway.Api.Storage { @@ -71,9 +69,9 @@ public enum PayloadState public TimeSpan Elapsed { get { return DateTime.UtcNow.Subtract(DateTimeCreated); } } - public string CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } + public string? CallingAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CallingAeTitle).FirstOrDefault(); } - public string CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } + public string? CalledAeTitle { get => Files.OfType<DicomFileStorageMetadata>().Select(p => p.CalledAeTitle).FirstOrDefault(); } public Payload(string key, string correlationId, uint timeout) { diff --git a/src/Api/Storage/StorageObjectMetadata.cs b/src/Api/Storage/StorageObjectMetadata.cs index 6b1b03bd6..27c4399eb 100644 --- a/src/Api/Storage/StorageObjectMetadata.cs +++ b/src/Api/Storage/StorageObjectMetadata.cs @@ -28,65 +28,65 @@ public class StorageObjectMetadata /// Gets or sets the temporary path before file is assembled into a payload. /// </summary> [JsonPropertyName("temporaryPath")] - public string TemporaryPath { get; set; } + public string TemporaryPath { get; set; } = default!; /// <summary> /// Gets or sets the path the file is stored within the payload directory. /// </summary> [JsonPropertyName("uploadPath")] - public string UploadPath { get; set; } + public string UploadPath { get; set; } = default!; /// <summary> /// Gets the file extension. /// </summary> [JsonPropertyName("fileExtension")] - public string FileExtension { get; init; } + public string FileExtension { get; init; } = default!; /// <summary> /// Gets or sets the content type of the file. /// </summary> [JsonPropertyName("contentType")] - public string ContentType { get; set; } + public string ContentType { get; set; } = default!; /// <summary> /// Gets or sets the data stream. /// </summary> [JsonIgnore] - public Stream Data { get; set; } + public Stream Data { get; set; } = default!; [JsonPropertyName("payloadBucketName"), JsonInclude] - public string PayloadBucketName { get; private set; } + public string PayloadBucketName { get; private set; } = default!; [JsonPropertyName("dateMoved"), JsonInclude] - public DateTime DateMoved { get; private set; } + public DateTime DateMoved { get; private set; } = default!; /// <summary> /// Gets or set the date time file was uploaded. /// </summary> [JsonPropertyName("dateUploaded")] - public DateTime? DateUploaded { get; set; } + public DateTime? DateUploaded { get; set; } = default!; /// <summary> /// Gets the temporary bucket used for storing the file. /// </summary> [JsonPropertyName("temporaryBucketName"), JsonInclude] - public string TemporaryBucketName { get; private set; } + public string TemporaryBucketName { get; private set; } = default!; /// <summary> /// Gets or sets whether the file is uploaded to the temporary bucket. /// </summary> /// <value></value> [JsonPropertyName("isUploaded"), JsonInclude] - public bool IsUploaded { get; private set; } + public bool IsUploaded { get; private set; } = default!; /// <summary> /// Gets or sets whether upload failed. /// </summary> [JsonPropertyName("isUploadFailed"), JsonInclude] - public bool IsUploadFailed { get; private set; } + public bool IsUploadFailed { get; private set; } = default!; [JsonPropertyName("isMoveCompleted"), JsonInclude] - public bool IsMoveCompleted { get; private set; } + public bool IsMoveCompleted { get; private set; } = default!; public StorageObjectMetadata(string fileExtension) { @@ -129,14 +129,14 @@ public void SetUploaded(string bucketName) var filename = fileStream.Name; Data.Close(); Data.Dispose(); - Data = null; + Data = default!; System.IO.File.Delete(filename); } else // MemoryStream { Data.Close(); Data.Dispose(); - Data = null; + Data = default!; // When IG stores all received/downloaded data in-memory using MemoryStream, LOH grows tremendously and thus impacts the performance and // memory usage. The following makes sure LOH is compacted after the data is uploaded. diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json index 50173066b..7cf779074 100644 --- a/src/Api/Test/packages.lock.json +++ b/src/Api/Test/packages.lock.json @@ -1285,4 +1285,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 0e6e28f51..dea82ff8b 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -287,4 +287,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/CLI/Commands/SourceCommand.cs b/src/CLI/Commands/SourceCommand.cs index cc1670efd..096aa5945 100644 --- a/src/CLI/Commands/SourceCommand.cs +++ b/src/CLI/Commands/SourceCommand.cs @@ -45,7 +45,6 @@ public SourceCommand() : base("src", "Configure DICOM sources") SetupListSourceCommand(); } - private void SetupListSourceCommand() { var listCommand = new Command("ls", "List all DICOM sources"); @@ -81,6 +80,7 @@ private void SetupAddSourceCommand() addCommand.Handler = CommandHandler.Create<SourceApplicationEntity, IHost, bool, CancellationToken>(AddSourceHandlerAsync); } + private void SetupUpdateSourceCommand() { var addCommand = new Command("update", "Update a new DICOM source"); @@ -233,6 +233,7 @@ private async Task<int> AddSourceHandlerAsync(SourceApplicationEntity entity, IH } return ExitCodes.Success; } + private async Task<int> UpdateSourceHandlerAsync(SourceApplicationEntity entity, IHost host, bool verbose, CancellationToken cancellationTokena) { Guard.Against.Null(entity); diff --git a/src/CLI/Test/ConfigurationServiceTest.cs b/src/CLI/Test/ConfigurationServiceTest.cs index 3d68956e9..5fa218e31 100644 --- a/src/CLI/Test/ConfigurationServiceTest.cs +++ b/src/CLI/Test/ConfigurationServiceTest.cs @@ -17,6 +17,7 @@ using System; using System.IO; using System.IO.Abstractions; +using System.IO.Abstractions.TestingHelpers; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -108,33 +109,19 @@ public async Task Initialize_ShallThrowWhenConfigReousrceIsMissing() [Fact(DisplayName = "Initialize creates the config file")] public async Task Initialize_CreatesTheConfigFile() { + var fileSystem = new MockFileSystem(); var testString = "hello world"; var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(testString)); - var mockStream = new Mock<Stream>(); - byte[] bytesWritten = null; - - mockStream.Setup(p => p.FlushAsync(It.IsAny<CancellationToken>())); - mockStream.Setup(p => p.Close()); - mockStream.Setup(p => p.CanWrite).Returns(true); - mockStream.Setup(s => s.WriteAsync(It.IsAny<byte[]>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<CancellationToken>())) - .Callback((byte[] bytes, int offset, int count, CancellationToken cancellationToken) => - { - bytesWritten = new byte[bytes.Length]; - bytes.CopyTo(bytesWritten, 0); - }); + var mockSteam = new Mock<Stream>(); - _fileSystem.Setup(p => p.Directory.Exists(It.IsAny<string>())).Returns(true); - _fileSystem.Setup(p => p.FileStream.Create(It.IsAny<string>(), It.IsAny<FileMode>())).Returns(mockStream.Object); _embeddedResource.Setup(p => p.GetManifestResourceStream(It.IsAny<string>())).Returns(memoryStream); - var svc = new ConfigurationService(_logger.Object, _fileSystem.Object, _embeddedResource.Object); + var svc = new ConfigurationService(_logger.Object, fileSystem, _embeddedResource.Object); await svc.Initialize(CancellationToken.None); _embeddedResource.Verify(p => p.GetManifestResourceStream(Common.AppSettingsResourceName), Times.Once()); - _fileSystem.Verify(p => p.FileStream.Create(Common.ConfigFilePath, FileMode.Create), Times.Once()); - mockStream.Verify(p => p.FlushAsync(It.IsAny<CancellationToken>()), Times.Once()); - mockStream.Verify(p => p.Close(), Times.Once()); + var bytesWritten = await fileSystem.File.ReadAllBytesAsync(Common.ConfigFilePath).ConfigureAwait(false); Assert.Equal(testString, Encoding.UTF8.GetString(bytesWritten)); } } diff --git a/src/CLI/Test/DestinationCommandTest.cs b/src/CLI/Test/DestinationCommandTest.cs index 7b742171a..0b9bcaeea 100644 --- a/src/CLI/Test/DestinationCommandTest.cs +++ b/src/CLI/Test/DestinationCommandTest.cs @@ -339,7 +339,6 @@ public async Task DstCEcho_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } - [Fact(DisplayName = "dst update command")] public async Task DstUpdate_Command() { diff --git a/src/CLI/Test/SourceCommandTest.cs b/src/CLI/Test/SourceCommandTest.cs index e4d071bca..edbca5105 100644 --- a/src/CLI/Test/SourceCommandTest.cs +++ b/src/CLI/Test/SourceCommandTest.cs @@ -346,6 +346,5 @@ public async Task SrcUpdate_Command_ConfigurationException() _logger.VerifyLoggingMessageBeginsWith("Please execute `testhost config init` to intialize Informatics Gateway.", LogLevel.Critical, Times.Once()); } - } } diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json index 747c5f703..b86fc32c8 100644 --- a/src/CLI/Test/packages.lock.json +++ b/src/CLI/Test/packages.lock.json @@ -1604,4 +1604,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/CLI/packages.lock.json b/src/CLI/packages.lock.json index 0b2b71ea9..cdcc36d9f 100644 --- a/src/CLI/packages.lock.json +++ b/src/CLI/packages.lock.json @@ -1455,4 +1455,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Client/Configuration.cs b/src/Client/Configuration.cs index 9927c087c..ab2634210 100644 --- a/src/Client/Configuration.cs +++ b/src/Client/Configuration.cs @@ -32,7 +32,6 @@ static Configuration() JsonSerializationOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; JsonSerializationOptions.WriteIndented = false; JsonSerializationOptions.Converters.Add(new JsonStringEnumMemberConverter(JsonNamingPolicy.CamelCase, false)); - JsonSerializationOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, false)); } } } diff --git a/src/Client/Test/AeTitleServiceTest.cs b/src/Client/Test/AeTitleServiceTest.cs index ef68418bd..3a1cea13e 100644 --- a/src/Client/Test/AeTitleServiceTest.cs +++ b/src/Client/Test/AeTitleServiceTest.cs @@ -422,7 +422,6 @@ public async Task CEcho() var exception = await Record.ExceptionAsync(async () => await service.CEcho(aet.Name, CancellationToken.None)); Assert.Null(exception); - } [Fact(DisplayName = "Destination - C-ECHO returns a problem")] diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index 71f71ff9c..0f09c250f 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -100,19 +100,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", "dependencies": { - "DotNext": "4.8.0", - "System.Threading.Channels": "7.0.0" + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" } }, "fo-dicom": { @@ -200,19 +200,19 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -227,34 +227,34 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -995,33 +995,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Swashbuckle.AspNetCore": { @@ -1588,8 +1587,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1670,10 +1669,10 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.8.0, )", + "DotNext.Threading": "[4.7.4, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", @@ -1748,7 +1747,7 @@ "type": "Project", "dependencies": { "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -1764,7 +1763,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1773,8 +1772,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", diff --git a/src/Client/packages.lock.json b/src/Client/packages.lock.json index 832d1c37e..973d634a3 100644 --- a/src/Client/packages.lock.json +++ b/src/Client/packages.lock.json @@ -1207,4 +1207,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json index 2061c4c77..37bb2b749 100644 --- a/src/Common/Test/packages.lock.json +++ b/src/Common/Test/packages.lock.json @@ -1171,4 +1171,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Common/packages.lock.json b/src/Common/packages.lock.json index 9a2b36402..84079d2b5 100644 --- a/src/Common/packages.lock.json +++ b/src/Common/packages.lock.json @@ -143,4 +143,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Configuration/StorageConfiguration.cs b/src/Configuration/StorageConfiguration.cs index ab7d10141..4437a8cce 100644 --- a/src/Configuration/StorageConfiguration.cs +++ b/src/Configuration/StorageConfiguration.cs @@ -43,7 +43,6 @@ public class StorageConfiguration : StorageServiceConfiguration [ConfigurationKeyName("bufferSize")] public int BufferSize { get; set; } = 128000; - /// <summary> /// Gets or set the maximum memory buffer size in bytes with default to 30MiB. /// </summary> diff --git a/src/Configuration/Test/ValidationExtensionsTest.cs b/src/Configuration/Test/ValidationExtensionsTest.cs index f93009408..986922e4a 100644 --- a/src/Configuration/Test/ValidationExtensionsTest.cs +++ b/src/Configuration/Test/ValidationExtensionsTest.cs @@ -205,6 +205,7 @@ public void SourceApplicationEntity_Valid() #endregion SourceApplicationEntity.IsValid #region IsAeTitleValid + [Theory] [InlineData("123")] [InlineData("MYAET")] @@ -230,9 +231,10 @@ public void GivenAnInvalidAETitle_WhenIsAeTitleValid_ExpectToReturnFalse(string Assert.NotEmpty(errors); } - #endregion + #endregion IsAeTitleValid #region IsValidHostNameIp + [Theory] [InlineData("0.0.0.0")] [InlineData("10.20.30.40")] @@ -285,6 +287,6 @@ public void GivenAnInvalidHostName_WhenIsValidHostNameIpIsCalled_ExpectToReturnF Assert.NotEmpty(errors); } - #endregion + #endregion IsValidHostNameIp } } diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json index 96660e70c..e29ab9d89 100644 --- a/src/Configuration/Test/packages.lock.json +++ b/src/Configuration/Test/packages.lock.json @@ -1310,4 +1310,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Configuration/packages.lock.json b/src/Configuration/packages.lock.json index 7f7e816c7..fe3345b4b 100644 --- a/src/Configuration/packages.lock.json +++ b/src/Configuration/packages.lock.json @@ -298,4 +298,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj index 00dd3bc3a..b34fdd51a 100644 --- a/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj +++ b/src/Database/Api/Monai.Deploy.InformaticsGateway.Database.Api.csproj @@ -31,7 +31,7 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.12" /> <PackageReference Include="Polly" Version="7.2.3" /> </ItemGroup> diff --git a/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs b/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs index 4381c3aa8..5ca178cd2 100644 --- a/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs +++ b/src/Database/Api/Repositories/IDicomAssociationInfoRepository.cs @@ -23,6 +23,5 @@ public interface IDicomAssociationInfoRepository Task<List<DicomAssociationInfo>> ToListAsync(CancellationToken cancellationToken = default); Task<DicomAssociationInfo> AddAsync(DicomAssociationInfo item, CancellationToken cancellationToken = default); - } } diff --git a/src/Database/Api/Repositories/IPayloadRepository.cs b/src/Database/Api/Repositories/IPayloadRepository.cs index 9e145c7d6..6c6e28d1f 100644 --- a/src/Database/Api/Repositories/IPayloadRepository.cs +++ b/src/Database/Api/Repositories/IPayloadRepository.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using System.Linq.Expressions; using Monai.Deploy.InformaticsGateway.Api.Storage; namespace Monai.Deploy.InformaticsGateway.Database.Api.Repositories diff --git a/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs b/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs index 5f9f06f4e..722487010 100644 --- a/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs +++ b/src/Database/Api/Repositories/StorageMetadataRepositoryBase.cs @@ -74,6 +74,7 @@ public virtual async Task<bool> DeleteAsync(string correlationId, string identit } protected abstract Task<bool> DeleteInternalAsync(StorageMetadataWrapper toBeDeleted, CancellationToken cancellationToken); + public abstract Task DeletePendingUploadsAsync(CancellationToken cancellationToken = default); public abstract Task<IList<FileStorageMetadata>> GetFileStorageMetdadataAsync(string correlationId, CancellationToken cancellationToken = default); @@ -98,7 +99,9 @@ public virtual async Task UpdateAsync(FileStorageMetadata metadata, Cancellation } protected abstract Task UpdateInternal(StorageMetadataWrapper obj, CancellationToken cancellationToken = default); + protected abstract Task<StorageMetadataWrapper?> FindByIds(string id, string correlationId, CancellationToken cancellationToken = default); + protected abstract Task AddAsyncInternal(StorageMetadataWrapper metadata, CancellationToken cancellationToken = default); } } diff --git a/src/Database/EntityFramework/Configuration/SR.cs b/src/Database/Api/SR.cs similarity index 92% rename from src/Database/EntityFramework/Configuration/SR.cs rename to src/Database/Api/SR.cs index ea538ca3b..05f83bc94 100644 --- a/src/Database/EntityFramework/Configuration/SR.cs +++ b/src/Database/Api/SR.cs @@ -15,7 +15,7 @@ * limitations under the License. */ -namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration +namespace Monai.Deploy.InformaticsGateway.Database.Api { public static class SR { diff --git a/src/Database/Api/StorageMetadataWrapper.cs b/src/Database/Api/StorageMetadataWrapper.cs index f572a2606..63976d023 100644 --- a/src/Database/Api/StorageMetadataWrapper.cs +++ b/src/Database/Api/StorageMetadataWrapper.cs @@ -17,7 +17,6 @@ using System.Text.Json; using System.Text.Json.Serialization; using Ardalis.GuardClauses; -using Microsoft.EntityFrameworkCore.Metadata.Internal; using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Storage; diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json index 7f3554e51..359852ddc 100644 --- a/src/Database/Api/Test/packages.lock.json +++ b/src/Database/Api/Test/packages.lock.json @@ -94,11 +94,11 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -113,8 +113,8 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", @@ -1332,7 +1332,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1340,4 +1340,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/Api/packages.lock.json b/src/Database/Api/packages.lock.json index 16650993b..382d326eb 100644 --- a/src/Database/Api/packages.lock.json +++ b/src/Database/Api/packages.lock.json @@ -4,12 +4,12 @@ "net6.0": { "Microsoft.EntityFrameworkCore": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -82,8 +82,8 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", @@ -353,4 +353,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/DatabaseMigrationManager.cs b/src/Database/DatabaseMigrationManager.cs index 2d27d194c..111cce122 100644 --- a/src/Database/DatabaseMigrationManager.cs +++ b/src/Database/DatabaseMigrationManager.cs @@ -32,4 +32,3 @@ public static IHost MigrateDatabase(this IHost host) } } } - diff --git a/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs index 98b990120..ad0688719 100644 --- a/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/DestinationApplicationEntityConfiguration.cs @@ -29,6 +29,10 @@ public void Configure(EntityTypeBuilder<DestinationApplicationEntity> builder) builder.Property(j => j.AeTitle).IsRequired(); builder.Property(j => j.Port).IsRequired(); builder.Property(j => j.HostIp).IsRequired(); + builder.Property(j => j.CreatedBy).IsRequired(false); + builder.Property(j => j.UpdatedBy).IsRequired(false); + builder.Property(j => j.DateTimeCreated).IsRequired(); + builder.Property(j => j.DateTimeUpdated).IsRequired(false); builder.HasIndex(p => p.Name, "idx_destination_name").IsUnique(); builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp, p.Port }, "idx_source_all").IsUnique(); diff --git a/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs b/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs index 845e3cbb5..e6e968668 100644 --- a/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/DicomAssociationInfoConfiguration.cs @@ -34,6 +34,7 @@ public void Configure(EntityTypeBuilder<DicomAssociationInfo> builder) builder.Property(j => j.FileCount).IsRequired(); builder.Property(j => j.RemoteHost).IsRequired(); builder.Property(j => j.RemotePort).IsRequired(); + builder.Property(j => j.Errors).IsRequired(); } } } diff --git a/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs index cbaf3385d..486d15a90 100644 --- a/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/InferenceRequestConfiguration.cs @@ -50,16 +50,16 @@ public void Configure(EntityTypeBuilder<InferenceRequest> builder) builder.Property(j => j.TransactionId).IsRequired(); builder.Property(j => j.Priority).IsRequired(); - builder.Property(j => j.InputMetadata).HasConversion( + builder.Property(j => j.InputMetadata).IsRequired(false).HasConversion( v => JsonSerializer.Serialize(v, jsonSerializerSettings), v => JsonSerializer.Deserialize<InferenceRequestMetadata>(v, jsonSerializerSettings)); - builder.Property(j => j.InputResources).HasConversion( + builder.Property(j => j.InputResources).IsRequired(false).HasConversion( v => JsonSerializer.Serialize(v, jsonSerializerSettings), v => JsonSerializer.Deserialize<List<RequestInputDataResource>>(v, jsonSerializerSettings)) .Metadata.SetValueComparer(reqestInputResourceComparer); - builder.Property(j => j.OutputResources).HasConversion( + builder.Property(j => j.OutputResources).IsRequired(false).HasConversion( v => JsonSerializer.Serialize(v, jsonSerializerSettings), v => JsonSerializer.Deserialize<List<RequestOutputDataResource>>(v, jsonSerializerSettings)) .Metadata.SetValueComparer(reqestOutputResourceComparer); @@ -67,6 +67,8 @@ public void Configure(EntityTypeBuilder<InferenceRequest> builder) builder.Property(j => j.State).IsRequired(); builder.Property(j => j.Status).IsRequired(); builder.Property(j => j.TryCount).IsRequired(); + builder.Property(j => j.CreatedBy).IsRequired(false); + builder.Property(j => j.DateTimeCreated).IsRequired(); builder.Ignore(p => p.Application); diff --git a/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs index db60b79cc..2b2877b53 100644 --- a/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/MonaiApplicationEntityConfiguration.cs @@ -47,6 +47,8 @@ public void Configure(EntityTypeBuilder<MonaiApplicationEntity> builder) builder.Property(j => j.AeTitle).IsRequired(); builder.Property(j => j.Timeout).IsRequired(); builder.Property(j => j.Grouping).IsRequired(); + builder.Property(j => j.CreatedBy).IsRequired(false); + builder.Property(j => j.DateTimeCreated).IsRequired(); builder.Property(j => j.Workflows) .HasConversion( v => JsonSerializer.Serialize(v, jsonSerializerSettings), diff --git a/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs index 863798216..c26824b6a 100644 --- a/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs +++ b/src/Database/EntityFramework/Configuration/SourceApplicationEntityConfiguration.cs @@ -27,6 +27,10 @@ public void Configure(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityType builder.HasKey(j => j.Name); builder.Property(j => j.AeTitle).IsRequired(); builder.Property(j => j.HostIp).IsRequired(); + builder.Property(j => j.CreatedBy).IsRequired(false); + builder.Property(j => j.UpdatedBy).IsRequired(false); + builder.Property(j => j.DateTimeCreated).IsRequired(); + builder.Property(j => j.DateTimeUpdated).IsRequired(false); builder.HasIndex(p => p.Name, "idx_source_name").IsUnique(); builder.HasIndex(p => new { p.Name, p.AeTitle, p.HostIp }, "idx_source_all").IsUnique(); diff --git a/src/Database/EntityFramework/InformaticsGatewayContext.cs b/src/Database/EntityFramework/InformaticsGatewayContext.cs index 40247d42f..0ef7cf697 100644 --- a/src/Database/EntityFramework/InformaticsGatewayContext.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContext.cs @@ -25,7 +25,6 @@ namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { - #pragma warning disable CS8618 // Unread "private" fields should be removed public class InformaticsGatewayContext : DbContext @@ -83,5 +82,6 @@ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) (RelationalEventId.CommandCreated, LogLevel.Trace) )); } + #pragma warning restore CS8618 // Unread "private" fields should be removed } diff --git a/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs index f623c0c2c..efdbb455b 100644 --- a/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs +++ b/src/Database/EntityFramework/InformaticsGatewayContextFactory.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; -using Monai.Deploy.InformaticsGateway.Database.EntityFramework.Configuration; +using Monai.Deploy.InformaticsGateway.Database.Api; namespace Monai.Deploy.InformaticsGateway.Database.EntityFramework { diff --git a/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs b/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs index 177c6752c..4786c8811 100644 --- a/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs +++ b/src/Database/EntityFramework/Migrations/20220203222116_R1_Initialize.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable diff --git a/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs b/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs index 92ad58af7..27444ef58 100644 --- a/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs +++ b/src/Database/EntityFramework/Migrations/20221010184458_R3_0.3.2.cs @@ -8,12 +8,10 @@ public partial class R3_032 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { - } protected override void Down(MigrationBuilder migrationBuilder) { - } } } diff --git a/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs index 007e9c291..f3159c1ce 100644 --- a/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs +++ b/src/Database/EntityFramework/Migrations/20221116172042_R3_0.3.4.cs @@ -1,5 +1,4 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Migrations; #nullable disable diff --git a/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs index 6a9b9917d..f060d99ff 100644 --- a/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs +++ b/src/Database/EntityFramework/Migrations/20221123174502_R3_0.3.5.cs @@ -1,5 +1,4 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Migrations; #nullable disable diff --git a/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.Designer.cs b/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.Designer.cs new file mode 100644 index 000000000..a8c56f98d --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.Designer.cs @@ -0,0 +1,313 @@ +// <auto-generated /> +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + [DbContext(typeof(InformaticsGatewayContext))] + [Migration("20221215010255_R3_0.3.6")] + partial class R3_036 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "6.0.12"); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<DateTime?>("DateTimeUpdated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("Port") + .HasColumnType("INTEGER"); + + b.Property<string>("UpdatedBy") + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_destination_name") + .IsUnique(); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp", "Port" }, "idx_source_all") + .IsUnique(); + + b.ToTable("DestinationApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DicomAssociationInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CalledAeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CallingAeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeDisconnected") + .HasColumnType("TEXT"); + + b.Property<TimeSpan>("Duration") + .HasColumnType("TEXT"); + + b.Property<string>("Errors") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("FileCount") + .HasColumnType("INTEGER"); + + b.Property<string>("RemoteHost") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RemotePort") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("DicomAssociationHistories"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.MonaiApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT") + .HasColumnOrder(0); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("AllowedSopClasses") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Grouping") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("IgnoredSopClasses") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.Property<string>("Workflows") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name" }, "idx_monaiae_name") + .IsUnique(); + + b.ToTable("MonaiApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Rest.InferenceRequest", b => + { + b.Property<Guid>("InferenceRequestId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + + b.Property<DateTime?>("DateTimeCreated") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("InputMetadata") + .HasColumnType("TEXT"); + + b.Property<string>("InputResources") + .HasColumnType("TEXT"); + + b.Property<string>("OutputResources") + .HasColumnType("TEXT"); + + b.Property<byte>("Priority") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<int>("Status") + .HasColumnType("INTEGER"); + + b.Property<string>("TransactionId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("TryCount") + .HasColumnType("INTEGER"); + + b.HasKey("InferenceRequestId"); + + b.HasIndex(new[] { "InferenceRequestId" }, "idx_inferencerequest_inferencerequestid") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_inferencerequest_state"); + + b.HasIndex(new[] { "TransactionId" }, "idx_inferencerequest_transactionid") + .IsUnique(); + + b.ToTable("InferenceRequests"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.SourceApplicationEntity", b => + { + b.Property<string>("Name") + .HasColumnType("TEXT"); + + b.Property<string>("AeTitle") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<DateTime?>("DateTimeUpdated") + .HasColumnType("TEXT"); + + b.Property<string>("HostIp") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("UpdatedBy") + .HasColumnType("TEXT"); + + b.HasKey("Name"); + + b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") + .IsUnique() + .HasDatabaseName("idx_source_all1"); + + b.HasIndex(new[] { "Name" }, "idx_source_name") + .IsUnique(); + + b.ToTable("SourceApplicationEntities"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.Storage.Payload", b => + { + b.Property<Guid>("PayloadId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property<string>("CorrelationId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<string>("Files") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("Key") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<int>("RetryCount") + .HasColumnType("INTEGER"); + + b.Property<int>("State") + .HasColumnType("INTEGER"); + + b.Property<uint>("Timeout") + .HasColumnType("INTEGER"); + + b.HasKey("PayloadId"); + + b.HasIndex(new[] { "CorrelationId", "PayloadId" }, "idx_payload_ids") + .IsUnique(); + + b.HasIndex(new[] { "State" }, "idx_payload_state"); + + b.ToTable("Payloads"); + }); + + modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Database.Api.StorageMetadataWrapper", b => + { + b.Property<string>("CorrelationId") + .HasColumnType("TEXT"); + + b.Property<string>("Identity") + .HasColumnType("TEXT"); + + b.Property<DateTime>("DateTimeCreated") + .HasColumnType("TEXT"); + + b.Property<bool>("IsUploaded") + .HasColumnType("INTEGER"); + + b.Property<string>("TypeName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("Value") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("CorrelationId", "Identity"); + + b.HasIndex(new[] { "CorrelationId" }, "idx_storagemetadata_correlation"); + + b.HasIndex(new[] { "CorrelationId", "Identity" }, "idx_storagemetadata_ids"); + + b.HasIndex(new[] { "IsUploaded" }, "idx_storagemetadata_uploaded"); + + b.ToTable("StorageMetadataWrapperEntities"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.cs b/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.cs new file mode 100644 index 000000000..2e628e3d9 --- /dev/null +++ b/src/Database/EntityFramework/Migrations/20221215010255_R3_0.3.6.cs @@ -0,0 +1,215 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Monai.Deploy.InformaticsGateway.Database.Migrations +{ + public partial class R3_036 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn<string>( + name: "CreatedBy", + table: "SourceApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeUpdated", + table: "SourceApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<string>( + name: "UpdatedBy", + table: "SourceApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AlterColumn<string>( + name: "Files", + table: "Payloads", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AlterColumn<string>( + name: "Workflows", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AlterColumn<string>( + name: "IgnoredSopClasses", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AlterColumn<string>( + name: "AllowedSopClasses", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AddColumn<string>( + name: "CreatedBy", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<string>( + name: "CreatedBy", + table: "InferenceRequests", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeCreated", + table: "InferenceRequests", + type: "TEXT", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AlterColumn<string>( + name: "Errors", + table: "DicomAssociationHistories", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AlterColumn<string>( + name: "CallingAeTitle", + table: "DicomAssociationHistories", + type: "TEXT", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "TEXT", + oldNullable: true); + + migrationBuilder.AddColumn<string>( + name: "CreatedBy", + table: "DestinationApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<DateTime>( + name: "DateTimeUpdated", + table: "DestinationApplicationEntities", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn<string>( + name: "UpdatedBy", + table: "DestinationApplicationEntities", + type: "TEXT", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "CreatedBy", + table: "SourceApplicationEntities"); + + migrationBuilder.DropColumn( + name: "DateTimeUpdated", + table: "SourceApplicationEntities"); + + migrationBuilder.DropColumn( + name: "UpdatedBy", + table: "SourceApplicationEntities"); + + migrationBuilder.DropColumn( + name: "CreatedBy", + table: "MonaiApplicationEntities"); + + migrationBuilder.DropColumn( + name: "CreatedBy", + table: "InferenceRequests"); + + migrationBuilder.DropColumn( + name: "DateTimeCreated", + table: "InferenceRequests"); + + migrationBuilder.DropColumn( + name: "CreatedBy", + table: "DestinationApplicationEntities"); + + migrationBuilder.DropColumn( + name: "DateTimeUpdated", + table: "DestinationApplicationEntities"); + + migrationBuilder.DropColumn( + name: "UpdatedBy", + table: "DestinationApplicationEntities"); + + migrationBuilder.AlterColumn<string>( + name: "Files", + table: "Payloads", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + + migrationBuilder.AlterColumn<string>( + name: "Workflows", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + + migrationBuilder.AlterColumn<string>( + name: "IgnoredSopClasses", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + + migrationBuilder.AlterColumn<string>( + name: "AllowedSopClasses", + table: "MonaiApplicationEntities", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + + migrationBuilder.AlterColumn<string>( + name: "Errors", + table: "DicomAssociationHistories", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + + migrationBuilder.AlterColumn<string>( + name: "CallingAeTitle", + table: "DicomAssociationHistories", + type: "TEXT", + nullable: true, + oldClrType: typeof(string), + oldType: "TEXT"); + } + } +} diff --git a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs index 634b2a01a..cd7dedcb3 100644 --- a/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs +++ b/src/Database/EntityFramework/Migrations/InformaticsGatewayContextModelSnapshot.cs @@ -15,7 +15,7 @@ partial class InformaticsGatewayContextModelSnapshot : ModelSnapshot protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "6.0.11"); + modelBuilder.HasAnnotation("ProductVersion", "6.0.12"); modelBuilder.Entity("Monai.Deploy.InformaticsGateway.Api.DestinationApplicationEntity", b => { @@ -26,9 +26,15 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasColumnType("TEXT"); + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") .HasColumnType("TEXT"); + b.Property<DateTime?>("DateTimeUpdated") + .HasColumnType("TEXT"); + b.Property<string>("HostIp") .IsRequired() .HasColumnType("TEXT"); @@ -36,6 +42,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property<int>("Port") .HasColumnType("INTEGER"); + b.Property<string>("UpdatedBy") + .HasColumnType("TEXT"); + b.HasKey("Name"); b.HasIndex(new[] { "Name" }, "idx_destination_name") @@ -58,6 +67,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT"); b.Property<string>("CallingAeTitle") + .IsRequired() .HasColumnType("TEXT"); b.Property<string>("CorrelationId") @@ -74,6 +84,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT"); b.Property<string>("Errors") + .IsRequired() .HasColumnType("TEXT"); b.Property<int>("FileCount") @@ -102,6 +113,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT"); b.Property<string>("AllowedSopClasses") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property<string>("CreatedBy") .HasColumnType("TEXT"); b.Property<DateTime>("DateTimeCreated") @@ -112,12 +127,14 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT"); b.Property<string>("IgnoredSopClasses") + .IsRequired() .HasColumnType("TEXT"); b.Property<uint>("Timeout") .HasColumnType("INTEGER"); b.Property<string>("Workflows") + .IsRequired() .HasColumnType("TEXT"); b.HasKey("Name"); @@ -134,6 +151,13 @@ protected override void BuildModel(ModelBuilder modelBuilder) .ValueGeneratedOnAdd() .HasColumnType("TEXT"); + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + + b.Property<DateTime?>("DateTimeCreated") + .IsRequired() + .HasColumnType("TEXT"); + b.Property<string>("InputMetadata") .HasColumnType("TEXT"); @@ -181,13 +205,22 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasColumnType("TEXT"); + b.Property<string>("CreatedBy") + .HasColumnType("TEXT"); + b.Property<DateTime>("DateTimeCreated") .HasColumnType("TEXT"); + b.Property<DateTime?>("DateTimeUpdated") + .HasColumnType("TEXT"); + b.Property<string>("HostIp") .IsRequired() .HasColumnType("TEXT"); + b.Property<string>("UpdatedBy") + .HasColumnType("TEXT"); + b.HasKey("Name"); b.HasIndex(new[] { "Name", "AeTitle", "HostIp" }, "idx_source_all") @@ -214,6 +247,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT"); b.Property<string>("Files") + .IsRequired() .HasColumnType("TEXT"); b.Property<string>("Key") diff --git a/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj index ae3bd804e..8950f1f0e 100644 --- a/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj +++ b/src/Database/EntityFramework/Monai.Deploy.InformaticsGateway.Database.EntityFramework.csproj @@ -37,12 +37,12 @@ </ItemGroup> <ItemGroup> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.11"> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.12" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.12"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.12" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json index df82195d5..0c7f5bcd4 100644 --- a/src/Database/EntityFramework/Test/packages.lock.json +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -120,10 +120,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore": { @@ -152,29 +152,29 @@ }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -603,33 +603,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "System.AppContext": { @@ -1493,7 +1492,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1502,8 +1501,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -1514,4 +1513,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/EntityFramework/packages.lock.json b/src/Database/EntityFramework/packages.lock.json index 3874cb6c1..e6ce5af3f 100644 --- a/src/Database/EntityFramework/packages.lock.json +++ b/src/Database/EntityFramework/packages.lock.json @@ -4,12 +4,12 @@ "net6.0": { "Microsoft.EntityFrameworkCore": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -19,22 +19,22 @@ }, "Microsoft.EntityFrameworkCore.Design": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "2H9vcmv9PIboVMisL0izD+xaUaWeZ/jqqRJeaD8MKIDaKwZsdHE790Sa4fAHjZjzVgoraELRI7CscjPMfLE2jA==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "R4rse/Dli8xqyDoQ0BVO8ECAEuwsDvu+qolTyvJl0mmFJodcxTHZQ8dUxxElqk+fTkiHE9rBMIZPoLE10ZCOCA==", "dependencies": { "Humanizer.Core": "2.8.26", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11" + "Microsoft.EntityFrameworkCore.Relational": "6.0.12" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.Extensions.Configuration": { @@ -132,10 +132,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Abstractions": { @@ -145,25 +145,25 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -363,33 +363,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "System.Buffers": { @@ -502,7 +501,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -510,4 +509,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj index e44699553..4ab7fb5fc 100644 --- a/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj +++ b/src/Database/Monai.Deploy.InformaticsGateway.Database.csproj @@ -22,6 +22,7 @@ <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression> <CodeAnalysisRuleSet>..\.sonarlint\project-monai_monai-deploy-informatics-gatewaycsharp.ruleset</CodeAnalysisRuleSet> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> + <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> @@ -65,7 +66,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.12" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> diff --git a/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs b/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs index 4a8e2a65d..561b0b1f8 100644 --- a/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs +++ b/src/Database/MongoDB/Configurations/MonaiApplicationEntityConfiguration.cs @@ -16,10 +16,7 @@ */ using Monai.Deploy.InformaticsGateway.Api; -using MongoDB.Bson; using MongoDB.Bson.Serialization; -using MongoDB.Bson.Serialization.IdGenerators; -using MongoDB.Bson.Serialization.Serializers; namespace Monai.Deploy.InformaticsGateway.Database.MongoDB.Configurations { diff --git a/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs b/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs index 3713e7430..000193dee 100644 --- a/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs +++ b/src/Database/MongoDB/Configurations/MongoDBEntityBaseConfiguration.cs @@ -33,6 +33,7 @@ public static void Configure() j.MapIdMember(c => c.Id) .SetIdGenerator(GuidGenerator.Instance) .SetSerializer(new GuidSerializer(BsonType.String)); + j.MapMember(c => c.DateTimeCreated); }); } } diff --git a/src/Database/MongoDB/Integration.Test/packages.lock.json b/src/Database/MongoDB/Integration.Test/packages.lock.json index 8554c02b3..fc6c40bac 100644 --- a/src/Database/MongoDB/Integration.Test/packages.lock.json +++ b/src/Database/MongoDB/Integration.Test/packages.lock.json @@ -128,11 +128,11 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -147,8 +147,8 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", @@ -1461,7 +1461,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1477,4 +1477,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/MongoDB/packages.lock.json b/src/Database/MongoDB/packages.lock.json index ee2f25fef..f435fd2eb 100644 --- a/src/Database/MongoDB/packages.lock.json +++ b/src/Database/MongoDB/packages.lock.json @@ -92,11 +92,11 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -111,8 +111,8 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", @@ -439,7 +439,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -447,4 +447,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json index 27041048e..fea774f3a 100644 --- a/src/Database/packages.lock.json +++ b/src/Database/packages.lock.json @@ -20,12 +20,12 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -155,10 +155,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Abstractions": { @@ -168,34 +168,34 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -461,33 +461,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "System.Buffers": { @@ -619,7 +618,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -628,8 +627,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -648,4 +647,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/DicomWebClient/API/IDicomWebClient.cs b/src/DicomWebClient/API/IDicomWebClient.cs index f69e764e5..dd8442e31 100644 --- a/src/DicomWebClient/API/IDicomWebClient.cs +++ b/src/DicomWebClient/API/IDicomWebClient.cs @@ -75,8 +75,11 @@ public interface IDicomWebClient /// <param name="serviceType"><c>ServiceType</c> to be configured</param> /// <param name="urlPrefix">Url prefix</param> #pragma warning disable CA1054 + void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPrefix); + #pragma warning restore CA1054 + /// <summary> /// Configures the authentication header for the DICOMweb client. /// </summary> diff --git a/src/DicomWebClient/API/IServiceBase.cs b/src/DicomWebClient/API/IServiceBase.cs index 65193a828..2c414ced6 100644 --- a/src/DicomWebClient/API/IServiceBase.cs +++ b/src/DicomWebClient/API/IServiceBase.cs @@ -20,7 +20,9 @@ namespace Monai.Deploy.InformaticsGateway.DicomWeb.Client.API public interface IServiceBase { #pragma warning disable CA1054 + bool TryConfigureServiceUriPrefix(string uriPrefix); + #pragma warning restore CA1054 } } diff --git a/src/DicomWebClient/DicomWebClient.cs b/src/DicomWebClient/DicomWebClient.cs index 6693e77db..ddb89a968 100644 --- a/src/DicomWebClient/DicomWebClient.cs +++ b/src/DicomWebClient/DicomWebClient.cs @@ -79,6 +79,7 @@ public void ConfigureServiceUris(Uri uriRoot) /// <inheritdoc/> #pragma warning disable CA1054 + public void ConfigureServicePrefix(DicomWebServiceType serviceType, string urlPrefix) #pragma warning restore CA1054 { diff --git a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs index a882e9835..7e7abc489 100644 --- a/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs +++ b/src/InformaticsGateway/Common/FileStorageMetadataExtensions.cs @@ -46,6 +46,7 @@ public static async Task SetDataStreams( var tempFile = fileSystem.Path.Combine(temporaryStoragePath, $@"{fileSystem.Path.GetRandomFileName()}"); dicomFileStorageMetadata.File.Data = fileSystem.File.Create(tempFile); break; + default: dicomFileStorageMetadata.File.Data = new System.IO.MemoryStream(); break; @@ -94,6 +95,7 @@ private static async Task SetTextStream( await stream.WriteAsync(data, 0, data.Length).ConfigureAwait(false); storageObjectMetadata.Data = stream; break; + default: storageObjectMetadata.Data = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(message)); break; diff --git a/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs b/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs index ec28a1a8d..96b03a6d0 100644 --- a/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs +++ b/src/InformaticsGateway/Logging/Log.2000.InferenceRequestRepository.cs @@ -14,13 +14,9 @@ * limitations under the License. */ -using System; -using Microsoft.Extensions.Logging; - namespace Monai.Deploy.InformaticsGateway.Logging { public static partial class Log { - } } diff --git a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj index c928089ba..22b05e98e 100644 --- a/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj +++ b/src/InformaticsGateway/Monai.Deploy.InformaticsGateway.csproj @@ -1,4 +1,4 @@ -<!-- +<!-- ~ Copyright 2022 MONAI Consortium ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); @@ -35,7 +35,7 @@ <ItemGroup> <PackageReference Include="Ardalis.GuardClauses" Version="4.0.1" /> - <PackageReference Include="DotNext.Threading" Version="4.8.0" /> + <PackageReference Include="DotNext.Threading" Version="4.7.4" /> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="fo-dicom.NLog" Version="5.0.3" /> <PackageReference Include="Karambolo.Extensions.Logging.File" Version="3.3.1" /> @@ -43,7 +43,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.12" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> diff --git a/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs b/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs index 2bbda686a..99f04ada0 100644 --- a/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs +++ b/src/InformaticsGateway/Services/Export/ExportRequestEventDetails.cs @@ -50,11 +50,11 @@ public ExportRequestEventDetails(ExportRequestEvent exportRequest) /// <summary> /// Gets whether the export task is completed or not based on file count. /// </summary> - public bool IsCompleted { get { return (SucceededFiles + FailedFiles) == Files.Count(); } } + public bool IsCompleted + { get { return (SucceededFiles + FailedFiles) == Files.Count(); } } public Dictionary<string, FileExportStatus> FileStatuses { get; private set; } = new Dictionary<string, FileExportStatus>(); - public ExportStatus Status { get diff --git a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs index defb1976d..a81bf9bbe 100644 --- a/src/InformaticsGateway/Services/Export/ExportServiceBase.cs +++ b/src/InformaticsGateway/Services/Export/ExportServiceBase.cs @@ -27,7 +27,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Monai.Deploy.InformaticsGateway.Api; using Monai.Deploy.InformaticsGateway.Api.Rest; using Monai.Deploy.InformaticsGateway.Common; using Monai.Deploy.InformaticsGateway.Configuration; diff --git a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs index c2be31a00..8e2ae602d 100644 --- a/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs +++ b/src/InformaticsGateway/Services/HealthLevel7/MllpService.cs @@ -164,7 +164,6 @@ private async Task OnDisconnect(IMllpClient client, MllpClientResult result) Guard.Against.Null(client); Guard.Against.Null(result); - try { foreach (var message in result.Messages) diff --git a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs index 09326de1d..7d3f685e2 100644 --- a/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/DestinationAeTitleController.cs @@ -152,6 +152,7 @@ public async Task<ActionResult<string>> Create(DestinationApplicationEntity item try { item.SetDefaultValues(); + item.SetAuthor(User, EditMode.Create); await ValidateCreateAsync(item).ConfigureAwait(false); @@ -199,6 +200,7 @@ public async Task<ActionResult<DestinationApplicationEntity>> Edit(DestinationAp destinationApplicationEntity.AeTitle = item.AeTitle; destinationApplicationEntity.HostIp = item.HostIp; destinationApplicationEntity.Port = item.Port; + destinationApplicationEntity.SetAuthor(User, EditMode.Update); await ValidateUpdateAsync(destinationApplicationEntity).ConfigureAwait(false); diff --git a/src/InformaticsGateway/Services/Http/InferenceController.cs b/src/InformaticsGateway/Services/Http/InferenceController.cs index 1ce974a90..05d8644bf 100644 --- a/src/InformaticsGateway/Services/Http/InferenceController.cs +++ b/src/InformaticsGateway/Services/Http/InferenceController.cs @@ -96,6 +96,7 @@ public async Task<ActionResult> NewInferenceRequest([FromBody] InferenceRequest return Problem(title: "Conflict", statusCode: (int)HttpStatusCode.Conflict, detail: "An existing request with same transaction ID already exists."); } + request.CreatedBy = User.Identity?.Name; await _inferenceRequestRepository.AddAsync(request, HttpContext.RequestAborted).ConfigureAwait(false); } catch (Exception ex) diff --git a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs index e3e69ac24..03b6c6e88 100644 --- a/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/MonaiAeTitleController.cs @@ -107,6 +107,7 @@ public async Task<ActionResult<MonaiApplicationEntity>> Create(MonaiApplicationE await ValidateAsync(item).ConfigureAwait(false); item.SetDefaultValues(); + item.SetAuthor(User); await _repository.AddAsync(item, HttpContext.RequestAborted).ConfigureAwait(false); _monaiAeChangedNotificationService.Notify(new MonaiApplicationentityChangedEvent(item, ChangedEventType.Added)); diff --git a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs index cd281ccda..b9779f71e 100644 --- a/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs +++ b/src/InformaticsGateway/Services/Http/SourceAeTitleController.cs @@ -100,6 +100,7 @@ public async Task<ActionResult<string>> Create(SourceApplicationEntity item) try { item.SetDefaultValues(); + item.SetAuthor(User, EditMode.Create); await ValidateCreateAsync(item).ConfigureAwait(false); await _repository.AddAsync(item, HttpContext.RequestAborted).ConfigureAwait(false); @@ -146,6 +147,7 @@ public async Task<ActionResult<SourceApplicationEntity>> Edit(SourceApplicationE sourceApplicationEntity.AeTitle = item.AeTitle; sourceApplicationEntity.HostIp = item.HostIp; + sourceApplicationEntity.SetAuthor(User, EditMode.Update); await ValidateEditAsync(sourceApplicationEntity).ConfigureAwait(false); diff --git a/src/InformaticsGateway/Services/Http/Startup.cs b/src/InformaticsGateway/Services/Http/Startup.cs index ef014a28b..4c64ddb12 100644 --- a/src/InformaticsGateway/Services/Http/Startup.cs +++ b/src/InformaticsGateway/Services/Http/Startup.cs @@ -28,7 +28,8 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; -using Monai.Deploy.InformaticsGateway.Database; +using Monai.Deploy.InformaticsGateway.Api.Rest; +using Monai.Deploy.InformaticsGateway.Database.EntityFramework; using Monai.Deploy.InformaticsGateway.Services.Fhir; using Monai.Deploy.Security.Authentication.Extensions; @@ -52,7 +53,7 @@ public void ConfigureServices(IServiceCollection services) services.AddControllers(opts => { opts.RespectBrowserAcceptHeader = true; - var jsonSerializerOptions = new JsonSerializerOptions + var jsonSerializerOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web) { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, PropertyNameCaseInsensitive = true, @@ -64,7 +65,6 @@ public void ConfigureServices(IServiceCollection services) jsonSerializerOptions.Converters.Add(new JsonStringEnumMemberConverter(JsonNamingPolicy.CamelCase, false)); jsonSerializerOptions.Converters.Add(new DicomJsonConverter(writeTagsAsKeywords: false, autoValidate: false)); - jsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, false)); opts.OutputFormatters.Add(new FhirJsonFormatters(jsonSerializerOptions)); opts.OutputFormatters.Add(new FhirXmlFormatters()); }) @@ -76,9 +76,9 @@ public void ConfigureServices(IServiceCollection services) opts.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; opts.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; opts.JsonSerializerOptions.WriteIndented = false; + opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumMemberConverter(new JsonStringEnumMemberConverterOptions(deserializationFailureFallbackValue: InferenceRequestType.Unknown), typeof(InferenceRequestType))); opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumMemberConverter(JsonNamingPolicy.CamelCase, false)); opts.JsonSerializerOptions.Converters.Add(new DicomJsonConverter(writeTagsAsKeywords: false, autoValidate: false)); - opts.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase, false)); }) .AddXmlSerializerFormatters(); @@ -111,7 +111,7 @@ public void ConfigureServices(IServiceCollection services) services.AddHealthChecks() .AddCheck<MonaiHealthCheck>("Informatics Gateway Services") - .AddDatabaseHealthCheck(Configuration?.GetSection("ConnectionStrings")); + .AddDbContextCheck<InformaticsGatewayContext>("Database"); } #pragma warning disable CA1822 // Mark members as static diff --git a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs index 4f7abe4ec..8d7c37e44 100644 --- a/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs +++ b/src/InformaticsGateway/Services/Scp/ApplicationEntityManager.cs @@ -92,7 +92,6 @@ private void OnApplicationStopping() _unsubscriberForMonaiAeChangedNotificationService.Dispose(); } - public async Task HandleCStoreRequest(DicomCStoreRequest request, string calledAeTitle, string callingAeTitle, Guid associationId) { Guard.Against.Null(request); diff --git a/src/InformaticsGateway/Services/Scp/ScpService.cs b/src/InformaticsGateway/Services/Scp/ScpService.cs index 3d015e607..0edfd269e 100644 --- a/src/InformaticsGateway/Services/Scp/ScpService.cs +++ b/src/InformaticsGateway/Services/Scp/ScpService.cs @@ -16,7 +16,6 @@ */ using System; -using System.Reflection; using System.Threading; using System.Threading.Tasks; using Ardalis.GuardClauses; diff --git a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs index 1e55ef6b7..2ff2a26f9 100644 --- a/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs +++ b/src/InformaticsGateway/Services/Storage/ObjectUploadService.cs @@ -64,7 +64,6 @@ public ObjectUploadService( _scope = _serviceScopeFactory.CreateScope(); _uplaodQueue = _scope.ServiceProvider.GetService<IObjectUploadQueue>() ?? throw new ServiceNotFoundException(nameof(IObjectUploadQueue)); _storageService = _scope.ServiceProvider.GetService<IStorageService>() ?? throw new ServiceNotFoundException(nameof(IStorageService)); - } private void BackgroundProcessing(CancellationToken cancellationToken) diff --git a/src/InformaticsGateway/Test/DummyMessagingService.cs b/src/InformaticsGateway/Test/DummyMessagingService.cs index 92c246c5c..b4efe17d9 100644 --- a/src/InformaticsGateway/Test/DummyMessagingService.cs +++ b/src/InformaticsGateway/Test/DummyMessagingService.cs @@ -49,7 +49,9 @@ internal class DummyMessagingService : IMessageBrokerPublisherService, IMessageB { public string Name => "Dummy Messaging Service"; #pragma warning disable CS0067 + public event ConnectionErrorHandler OnConnectionError; + #pragma warning restore CS0067 public void Acknowledge(MessageBase message) => throw new NotImplementedException(); diff --git a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs index a014b496b..799e08122 100644 --- a/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs +++ b/src/InformaticsGateway/Test/Services/Export/ExportServiceBaseTest.cs @@ -105,7 +105,6 @@ public ExportServiceBaseTest() .Setup(x => x.GetService(typeof(IStorageInfoProvider))) .Returns(_storageInfoProvider.Object); - var scope = new Mock<IServiceScope>(); scope.Setup(x => x.ServiceProvider).Returns(serviceProvider.Object); @@ -195,7 +194,6 @@ public async Task DataflowTest_PayloadDownlaodFailure() It.IsAny<ushort>()), Times.Once()); } - [RetryFact(1, 10, DisplayName = "Data flow test - end to end workflow with partial failure")] public async Task DataflowTest_EndToEnd_WithPartialFailure() { diff --git a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs index c4ccb736d..243e0fcad 100644 --- a/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Fhir/FhirServiceTest.cs @@ -85,7 +85,7 @@ public FhirServiceTest() _options.Value.Storage.TemporaryDataStorage = TemporaryDataStorageLocation.Memory; } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAFhirService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new FhirService(null, null)); @@ -94,7 +94,7 @@ public void GivenAFhirService_WhenInitialized_ExpectParametersToBeValidated() new FhirService(_serviceScopeFactory.Object, _options); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task StoreAsync_WhenCalled_ShallValidateParametersAsync() { var correlationId = Guid.NewGuid().ToString(); diff --git a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs index c695b6068..ebd2364ff 100644 --- a/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/DestinationAeTitleControllerTest.cs @@ -19,6 +19,8 @@ using System.Linq; using System.Linq.Expressions; using System.Net; +using System.Security.Claims; +using System.Security.Principal; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -37,6 +39,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Http { public class DestinationAeTitleControllerTest { + private static readonly string TestUsername = "test-user"; private readonly DestinationAeTitleController _controller; private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<DestinationAeTitleController>> _logger; @@ -78,7 +81,7 @@ public DestinationAeTitleControllerTest() _scuQueue.Object) { ProblemDetailsFactory = _problemDetailsFactory.Object, - ControllerContext = controllerContext + ControllerContext = controllerContext, }; } @@ -403,6 +406,48 @@ public async Task Update_ReturnsUpdated() Assert.Equal(entity.HostIp, updatedEntity.HostIp); Assert.Equal(entity.Name, updatedEntity.Name); Assert.Equal(entity.Port, updatedEntity.Port); + Assert.NotNull(updatedEntity.DateTimeUpdated); + Assert.Null(updatedEntity.UpdatedBy); + + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return updated when user is authenticated")] + public async Task Update_ReturnsUpdatedWhenUserIsAuthenticated() + { + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new GenericIdentity(TestUsername)) } }; + var controller = new DestinationAeTitleController( + _logger.Object, + _repository.Object, + _scuQueue.Object) + { + ProblemDetailsFactory = _problemDetailsFactory.Object, + ControllerContext = controllerContext, + }; + + var entity = new DestinationApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + Port = 123, + }; + + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<DestinationApplicationEntity>(), It.IsAny<CancellationToken>())); + + var result = await controller.Edit(entity); + var okResult = result.Result as OkObjectResult; + Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode); + var updatedEntity = okResult.Value as DestinationApplicationEntity; + + Assert.Equal(entity.AeTitle, updatedEntity.AeTitle); + Assert.Equal(entity.HostIp, updatedEntity.HostIp); + Assert.Equal(entity.Name, updatedEntity.Name); + Assert.Equal(entity.Port, updatedEntity.Port); + Assert.NotNull(updatedEntity.DateTimeUpdated); + Assert.Equal(TestUsername, updatedEntity.UpdatedBy); _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); diff --git a/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs index 8aadd13d8..5bc8d2458 100644 --- a/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/InferenceControllerTest.cs @@ -17,6 +17,8 @@ using System; using System.Collections.Generic; using System.IO.Abstractions; +using System.Security.Claims; +using System.Security.Principal; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -35,6 +37,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Http { public class InferenceControllerTest { + private static readonly string TestUsername = "test-user"; private readonly Mock<IInferenceRequestRepository> _inferenceRequestRepository; private readonly InformaticsGatewayConfiguration _informaticsGatewayConfiguration; private readonly Mock<ILogger<InferenceController>> _logger; @@ -68,8 +71,8 @@ public InferenceControllerTest() Instance = instance }; }); - var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new GenericIdentity(TestUsername)) } }; _controller = new InferenceController(_inferenceRequestRepository.Object, _logger.Object) { ControllerContext = controllerContext, @@ -288,7 +291,7 @@ public void NewInferenceRequest_ShallAcceptInferenceRequest() var result = _controller.NewInferenceRequest(input); - _inferenceRequestRepository.Verify(p => p.AddAsync(input, It.IsAny<CancellationToken>()), Times.Once()); + _inferenceRequestRepository.Verify(p => p.AddAsync(It.Is<InferenceRequest>(p => p.CreatedBy == TestUsername), It.IsAny<CancellationToken>()), Times.Once()); Assert.NotNull(result); var objectResult = result.Result as OkObjectResult; diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs index db8a80d93..230e192eb 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiAeTitleControllerTest.cs @@ -19,6 +19,8 @@ using System.Linq; using System.Linq.Expressions; using System.Net; +using System.Security.Claims; +using System.Security.Principal; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -37,6 +39,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Http { public class MonaiAeTitleControllerTest { + private static readonly string TestUsername = "test-user"; private readonly MonaiAeTitleController _controller; private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<MonaiAeTitleController>> _logger; @@ -71,7 +74,7 @@ public MonaiAeTitleControllerTest() _repository = new Mock<IMonaiApplicationEntityRepository>(); - var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new GenericIdentity(TestUsername)) } }; _controller = new MonaiAeTitleController( _logger.Object, _aeChangedNotificationService.Object, @@ -298,7 +301,7 @@ public async Task Create_ShallReturnCreatedAtAction() Assert.IsType<CreatedAtActionResult>(result.Result); _aeChangedNotificationService.Verify(p => p.Notify(It.Is<MonaiApplicationentityChangedEvent>(x => x.ApplicationEntity == monaiAeTitle)), Times.Once()); - _repository.Verify(p => p.AddAsync(It.IsAny<MonaiApplicationEntity>(), It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.AddAsync(It.Is<MonaiApplicationEntity>(p => p.CreatedBy == TestUsername), It.IsAny<CancellationToken>()), Times.Once()); } #endregion Create diff --git a/src/InformaticsGateway/Test/Services/Http/MonaiHealthCheckTest.cs b/src/InformaticsGateway/Test/Services/Http/MonaiHealthCheckTest.cs index ebf559a3f..d3c63a9b2 100644 --- a/src/InformaticsGateway/Test/Services/Http/MonaiHealthCheckTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/MonaiHealthCheckTest.cs @@ -14,10 +14,7 @@ * limitations under the License. */ -using System; using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.Diagnostics.HealthChecks; using Monai.Deploy.InformaticsGateway.Repositories; diff --git a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs index 468a90eba..d9defa8a7 100644 --- a/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/SourceAeTitleControllerTest.cs @@ -19,6 +19,8 @@ using System.Linq; using System.Linq.Expressions; using System.Net; +using System.Security.Claims; +using System.Security.Principal; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -36,6 +38,7 @@ namespace Monai.Deploy.InformaticsGateway.Test.Services.Http { public class SourceAeTitleControllerTest { + private static readonly string TestUsername = "test-user"; private readonly SourceAeTitleController _controller; private readonly Mock<ProblemDetailsFactory> _problemDetailsFactory; private readonly Mock<ILogger<SourceAeTitleController>> _logger; @@ -295,6 +298,45 @@ public async Task Update_ReturnsUpdated() Assert.Equal(entity.AeTitle, updatedEntity.AeTitle); Assert.Equal(entity.HostIp, updatedEntity.HostIp); Assert.Equal(entity.Name, updatedEntity.Name); + Assert.NotNull(updatedEntity.DateTimeUpdated); + Assert.Null(updatedEntity.UpdatedBy); + + _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); + _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); + } + + [RetryFact(5, 250, DisplayName = "Update - Shall return updated when user is authenticated")] + public async Task Update_ReturnsUpdatedWhenUserIsAuthenticated() + { + var controllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal(new GenericIdentity(TestUsername)) } }; + var controller = new SourceAeTitleController( + _logger.Object, + _repository.Object) + { + ProblemDetailsFactory = _problemDetailsFactory.Object, + ControllerContext = controllerContext + }; + + var entity = new SourceApplicationEntity + { + AeTitle = "AET", + HostIp = "host", + Name = "AET", + }; + + _repository.Setup(p => p.FindByNameAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())).Returns(Task.FromResult(entity)); + _repository.Setup(p => p.UpdateAsync(It.IsAny<SourceApplicationEntity>(), It.IsAny<CancellationToken>())); + + var result = await controller.Edit(entity); + var okResult = result.Result as OkObjectResult; + Assert.Equal(StatusCodes.Status200OK, okResult.StatusCode); + var updatedEntity = okResult.Value as SourceApplicationEntity; + + Assert.Equal(entity.AeTitle, updatedEntity.AeTitle); + Assert.Equal(entity.HostIp, updatedEntity.HostIp); + Assert.Equal(entity.Name, updatedEntity.Name); + Assert.NotNull(updatedEntity.DateTimeUpdated); + Assert.Equal(TestUsername, updatedEntity.UpdatedBy); _repository.Verify(p => p.FindByNameAsync(entity.Name, It.IsAny<CancellationToken>()), Times.Once()); _repository.Verify(p => p.UpdateAsync(entity, It.IsAny<CancellationToken>()), Times.Once()); diff --git a/src/InformaticsGateway/Test/Services/Http/StartupTest.cs b/src/InformaticsGateway/Test/Services/Http/StartupTest.cs index f9534c2ff..f5ad735bc 100644 --- a/src/InformaticsGateway/Test/Services/Http/StartupTest.cs +++ b/src/InformaticsGateway/Test/Services/Http/StartupTest.cs @@ -29,7 +29,6 @@ public class StartupTest public async Task Startup_WebHostBuildsProperly() { var webHost = Microsoft.AspNetCore.WebHost.CreateDefaultBuilder() - .UseEnvironment("Development") .ConfigureServices((hostContext, services) => { services.AddOptions<AuthenticationOptions>().Bind(hostContext.Configuration.GetSection("MonaiDeployAuthentication")); diff --git a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs index 0b04bfa28..c71b6524d 100644 --- a/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs +++ b/src/InformaticsGateway/Test/Services/Scu/ScuServiceTest.cs @@ -70,7 +70,7 @@ public ScuServiceTest(DicomScpFixture dicomScp) _dicomScp.Start(_port); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() { Assert.Throws<ArgumentNullException>(() => new ScuService(null, null, null)); @@ -79,7 +79,7 @@ public void GivenAScuService_WhenInitialized_ExpectParametersToBeValidated() _ = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -88,7 +88,7 @@ public void GivenAScuService_WhenStartAsyncIsCalled_ExpectServiceStatusToBeSet() Assert.Equal(ServiceStatus.Running, svc.Status); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -105,7 +105,7 @@ public async Task GivenAValidDicomEntity_WhenRequestToCEcho_ExpectToReturnSucess Assert.Empty(response.Message); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -122,7 +122,7 @@ public async Task GivenACEchoRequest_WhenRejected_ReturnStatusAssociationRejecte Assert.StartsWith("Association rejected", response.Message); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); @@ -139,7 +139,7 @@ public async Task GivenACEchoRequest_WhenAborted_ReturnStatusAssociationAborted( Assert.StartsWith("Association Abort", response.Message); } - [RetryFact(10,200)] + [RetryFact(10, 200)] public async Task GivenACEchoRequest_WhenRemoteServerIsUnreachable_ReturnStatusAssociationRejected() { var svc = new ScuService(_serviceScopeFactory.Object, _logger.Object, _options); diff --git a/src/InformaticsGateway/Test/appsettings.json b/src/InformaticsGateway/Test/appsettings.json index 98a52ff80..f3e7bf5c3 100644 --- a/src/InformaticsGateway/Test/appsettings.json +++ b/src/InformaticsGateway/Test/appsettings.json @@ -104,4 +104,4 @@ "InformaticsGatewayServerEndpoint": "http://localhost:5000", "DockerImagePrefix": "monai/informatics-gateway" } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index d320722f6..70355de46 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -151,19 +151,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", "dependencies": { - "DotNext": "4.8.0", - "System.Threading.Channels": "7.0.0" + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" } }, "fo-dicom": { @@ -434,10 +434,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore": { @@ -466,29 +466,29 @@ }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -1234,33 +1234,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Swashbuckle.AspNetCore.Swagger": { @@ -1816,8 +1815,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1898,10 +1897,10 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.8.0, )", + "DotNext.Threading": "[4.7.4, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", @@ -1967,7 +1966,7 @@ "type": "Project", "dependencies": { "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -1983,7 +1982,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1992,8 +1991,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", diff --git a/src/InformaticsGateway/appsettings.Development.json b/src/InformaticsGateway/appsettings.Development.json index 813c733f2..bf8b82eb4 100644 --- a/src/InformaticsGateway/appsettings.Development.json +++ b/src/InformaticsGateway/appsettings.Development.json @@ -1,6 +1,6 @@ { "MonaiDeployAuthentication": { - "bypassAuthentication": true + "bypassAuthentication": false }, "ConnectionStrings": { "InformaticsGatewayDatabase": "Data Source=migdev.db" diff --git a/src/InformaticsGateway/appsettings.Test.json b/src/InformaticsGateway/appsettings.Test.json index 2dc28055f..5f81a9e72 100644 --- a/src/InformaticsGateway/appsettings.Test.json +++ b/src/InformaticsGateway/appsettings.Test.json @@ -59,4 +59,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/appsettings.json b/src/InformaticsGateway/appsettings.json index d4881ea92..0b825c562 100644 --- a/src/InformaticsGateway/appsettings.json +++ b/src/InformaticsGateway/appsettings.json @@ -3,26 +3,26 @@ "bypassAuthentication": false, "openId": { "realm": "http://localhost:8080/realms/monai-test/", - "realmKey": "993kdf2YXmv3itIvVOJX6zDT9o2nLxwW", + "realmKey": "G6GIR03BEJMlevUtAuZ1ao1SN6IHyUXR", "clientId": "monai-app", "audiences": [ "monai-app-test" ], "roleClaimType": "roles", "claimMappings": { "userClaims": [ { - "claimType": "roles", + "claimType": "user-role", "claimValues": [ "monai-deploy-user" ], "endpoints": [ "Stow", "Fhir", "Inference" ] }, { - "claimType": "roles", + "claimType": "user-role", "claimValues": [ "pacs-admin" ], "endpoints": [ "MonaiAeTitle", "SourceAeTitle", "DestinationAeTitle" ] } ], "adminClaims": [ { - "claimType": "roles", + "claimType": "user-role", "claimValues": [ "monai-role-admin" ] } ] @@ -112,4 +112,4 @@ "InformaticsGatewayServerEndpoint": "http://localhost:5000", "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/nlog.config b/src/InformaticsGateway/nlog.config index b2bc92dcf..86f7e067c 100644 --- a/src/InformaticsGateway/nlog.config +++ b/src/InformaticsGateway/nlog.config @@ -23,8 +23,8 @@ limitations under the License. internalLogFile="${basedir}/logs/internal-nlog.txt"> <extensions> - <add assembly="NLog.Web.AspNetCore"/> - <add assembly="NLog.Extensions.Logging"/> + <add assembly="NLog.Web.AspNetCore" /> + <add assembly="NLog.Extensions.Logging" /> </extensions> <variable name="logDir" value="${basedir}/logs/" /> @@ -33,17 +33,16 @@ limitations under the License. <targets async="true"> <!-- File Target for all log messages with basic details --> - <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" > + <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log"> <layout xsi:type="JsonLayout" includeEventProperties="true" includeScopeProperties="true"> <attribute name="timestamp" layout="${date:format=o}" /> - <attribute name="level" layout="${level:upperCase=true}"/> + <attribute name="level" layout="${level:upperCase=true}" /> <attribute name="logger" layout="${logger}" /> <attribute name="message" layout="${message:raw=true}" /> <attribute name="properties" layout="${message:raw=true}" /> </layout> </target> - <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection --> <target xsi:type="ColoredConsole" name="lifetimeConsole" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> @@ -53,15 +52,14 @@ limitations under the License. <attribute name="ServiceName" layout="${servicename}" /> <attribute name="ServiceVersion" layout="${serviceversion}" /> <attribute name="MachineName" layout="${machinename}" /> - <attribute name="CorrelationId" layout="${mdlc:item=correlationId}"/> - <attribute name="LoggerName" layout="${logger}"/> - <attribute name="Level" layout="${level:upperCase=true}"/> - <attribute name="Message" layout="${message}"/> - <attribute name="Exception" layout="${onexception:${literal:text=|}"/> - <attribute name="Exception2" layout="${exception:format=tostring}"/> + <attribute name="CorrelationId" layout="${mdlc:item=correlationId}" /> + <attribute name="LoggerName" layout="${logger}" /> + <attribute name="Level" layout="${level:upperCase=true}" /> + <attribute name="Message" layout="${message}" /> + <attribute name="Exception" layout="${onexception:${literal:text=|}" /> + <attribute name="Exception2" layout="${exception:format=tostring}" /> </layout> </target> - </targets> <!-- rules to map from logger name to target --> @@ -78,13 +76,12 @@ limitations under the License. <logger name="Microsoft.*" maxlevel="Info" final="true" /> <logger name="System.Net.Http.*" maxlevel="Info" final="true" /> - <logger name="Monai.Deploy.InformaticsGateway.Services.Connectors.PayloadAssembler" maxlevel="Trace" final="true"/> + <logger name="Monai.Deploy.InformaticsGateway.Services.Connectors.PayloadAssembler" maxlevel="Trace" final="true" /> - <logger name="*" minlevel="Trace" writeTo="logstash" > + <logger name="*" minlevel="Trace" writeTo="logstash"> <filters FilterDefaultAction="Log"> <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> </filters> </logger> - </rules> </nlog> diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json index 141f0ca9b..b3b93b429 100644 --- a/src/InformaticsGateway/packages.lock.json +++ b/src/InformaticsGateway/packages.lock.json @@ -13,12 +13,12 @@ }, "DotNext.Threading": { "type": "Direct", - "requested": "[4.8.0, )", - "resolved": "4.8.0", - "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", + "requested": "[4.7.4, )", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", "dependencies": { - "DotNext": "4.8.0", - "System.Threading.Channels": "7.0.0" + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" } }, "fo-dicom": { @@ -74,12 +74,12 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -289,8 +289,8 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } @@ -334,10 +334,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Abstractions": { @@ -347,34 +347,34 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -954,33 +954,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Swashbuckle.AspNetCore.Swagger": { @@ -1531,8 +1530,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1606,7 +1605,7 @@ "type": "Project", "dependencies": { "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -1622,7 +1621,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1631,8 +1630,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", diff --git a/tests/Integration.Test/Common/Assertions.cs b/tests/Integration.Test/Common/Assertions.cs index 24119f0b0..0aef382db 100644 --- a/tests/Integration.Test/Common/Assertions.cs +++ b/tests/Integration.Test/Common/Assertions.cs @@ -19,7 +19,6 @@ using System.Text.Json; using System.Text.Json.Nodes; using System.Xml; -using Amazon.Runtime; using Ardalis.GuardClauses; using FellowOakDicom; using FellowOakDicom.Serialization; diff --git a/tests/Integration.Test/Common/DicomCEchoDataClient.cs b/tests/Integration.Test/Common/DicomCEchoDataClient.cs index 0a699f9cc..b91a67725 100644 --- a/tests/Integration.Test/Common/DicomCEchoDataClient.cs +++ b/tests/Integration.Test/Common/DicomCEchoDataClient.cs @@ -36,7 +36,6 @@ public DicomCEchoDataClient(Configurations configurations, InformaticsGatewayCon _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); } - public async Task SendAsync(DataProvider dataProvider, params object[] args) { Guard.Against.NullOrEmpty(args); diff --git a/tests/Integration.Test/Common/DicomCStoreDataClient.cs b/tests/Integration.Test/Common/DicomCStoreDataClient.cs index e98566c88..da8c357b0 100644 --- a/tests/Integration.Test/Common/DicomCStoreDataClient.cs +++ b/tests/Integration.Test/Common/DicomCStoreDataClient.cs @@ -16,7 +16,6 @@ using System.Diagnostics; using Ardalis.GuardClauses; -using FellowOakDicom; using FellowOakDicom.Network; using FellowOakDicom.Network.Client; using Monai.Deploy.InformaticsGateway.Configuration; @@ -41,7 +40,6 @@ public DicomCStoreDataClient(Configurations configurations, InformaticsGatewayCo _outputHelper = outputHelper ?? throw new ArgumentNullException(nameof(outputHelper)); } - public async Task SendAsync(DataProvider dataProvider, params object[] args) { Guard.Against.NullOrEmpty(args); diff --git a/tests/Integration.Test/Common/IDataClient.cs b/tests/Integration.Test/Common/IDataClient.cs index 6f8f5a580..254572b93 100644 --- a/tests/Integration.Test/Common/IDataClient.cs +++ b/tests/Integration.Test/Common/IDataClient.cs @@ -14,7 +14,6 @@ * limitations under the License. */ - namespace Monai.Deploy.InformaticsGateway.Integration.Test.Common { internal interface IDataClient diff --git a/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs index 47c1a0618..e0944c960 100644 --- a/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs +++ b/tests/Integration.Test/Drivers/IDatabaseDataProvider.cs @@ -19,6 +19,7 @@ namespace Monai.Deploy.InformaticsGateway.Integration.Test.Hooks public interface IDatabaseDataProvider { void ClearAllData(); + Task<string> InjectAcrRequest(); } } diff --git a/tests/Integration.Test/Drivers/RabbitMqConsumer.cs b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs index c3955d2ce..06f17f66a 100644 --- a/tests/Integration.Test/Drivers/RabbitMqConsumer.cs +++ b/tests/Integration.Test/Drivers/RabbitMqConsumer.cs @@ -30,7 +30,8 @@ internal class RabbitMqConsumer : IDisposable private readonly ConcurrentBag<Message> _messages; private bool _disposedValue; - public IReadOnlyList<Message> Messages { get { return _messages.ToList(); } } + public IReadOnlyList<Message> Messages + { get { return _messages.ToList(); } } public CountdownEvent MessageWaitHandle { get; private set; } public RabbitMqConsumer(RabbitMQMessageSubscriberService subscriberService, string queueName, ISpecFlowOutputHelper outputHelper) @@ -77,7 +78,6 @@ protected virtual void Dispose(bool disposing) } } - public void Dispose() { // Do not change this code. Put cleanup code in 'Dispose(bool disposing)' method diff --git a/tests/Integration.Test/Hooks/TestHooks.cs b/tests/Integration.Test/Hooks/TestHooks.cs index 050424914..313ab7719 100644 --- a/tests/Integration.Test/Hooks/TestHooks.cs +++ b/tests/Integration.Test/Hooks/TestHooks.cs @@ -185,7 +185,6 @@ public static void Shtudown() s_rabbitMqConnectionFactory.Dispose(); } - [AfterTestRun(Order = 0)] [AfterScenario] public static void ClearTestData(ISpecFlowOutputHelper outputHelper) diff --git a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj index ec2cc7dd7..bac224f0b 100644 --- a/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj +++ b/tests/Integration.Test/Monai.Deploy.InformaticsGateway.Integration.Test.csproj @@ -26,8 +26,8 @@ <ItemGroup> <PackageReference Include="fo-dicom" Version="5.0.3" /> <PackageReference Include="HL7-dotnetcore" Version="2.29.0" /> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.11" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.12" /> + <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.12" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.1" /> diff --git a/tests/Integration.Test/appsettings.json b/tests/Integration.Test/appsettings.json index 5a76bff99..f7913f837 100644 --- a/tests/Integration.Test/appsettings.json +++ b/tests/Integration.Test/appsettings.json @@ -83,4 +83,4 @@ "InformaticsGatewayServerEndpoint": "http://127.0.0.1:5000", "DockerImagePrefix": "ghcr.io/project-monai/monai-deploy-informatics-gateway" } -} +} \ No newline at end of file diff --git a/tests/Integration.Test/nlog.config b/tests/Integration.Test/nlog.config index b987aba2f..ed0056cd5 100644 --- a/tests/Integration.Test/nlog.config +++ b/tests/Integration.Test/nlog.config @@ -23,8 +23,8 @@ limitations under the License. internalLogFile="${basedir}/logs/internal-nlog.txt"> <extensions> - <add assembly="NLog.Web.AspNetCore"/> - <add assembly="NLog.Extensions.Logging"/> + <add assembly="NLog.Web.AspNetCore" /> + <add assembly="NLog.Extensions.Logging" /> </extensions> <variable name="logDir" value="${basedir}/logs/" /> @@ -35,7 +35,6 @@ limitations under the License. <!-- File Target for all log messages with basic details --> <target xsi:type="File" name="allfile" fileName="${logDir}/MIG-${shortdate}.log" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> - <!--Console Target for hosting lifetime messages to improve Docker / Visual Studio startup detection --> <target xsi:type="ColoredConsole" name="lifetimeConsole" layout="${longdate}|${event-properties:item=EventId:whenEmpty=0}|${uppercase:${level}}|${logger}|${scopenested}|${message} ${exception:format=tostring}" /> @@ -45,15 +44,14 @@ limitations under the License. <attribute name="ServiceName" layout="${servicename}" /> <attribute name="ServiceVersion" layout="${serviceversion}" /> <attribute name="MachineName" layout="${machinename}" /> - <attribute name="CorrelationId" layout="${mdlc:item=correlationId}"/> - <attribute name="LoggerName" layout="${logger}"/> - <attribute name="Level" layout="${level:upperCase=true}"/> - <attribute name="Message" layout="${message}"/> - <attribute name="Exception" layout="${onexception:${literal:text=|}"/> - <attribute name="Exception2" layout="${exception:format=tostring}"/> + <attribute name="CorrelationId" layout="${mdlc:item=correlationId}" /> + <attribute name="LoggerName" layout="${logger}" /> + <attribute name="Level" layout="${level:upperCase=true}" /> + <attribute name="Message" layout="${message}" /> + <attribute name="Exception" layout="${onexception:${literal:text=|}" /> + <attribute name="Exception2" layout="${exception:format=tostring}" /> </layout> </target> - </targets> <!-- rules to map from logger name to target --> @@ -71,11 +69,10 @@ limitations under the License. <logger name="Microsoft.*" maxlevel="Info" final="true" /> <logger name="System.Net.Http.*" maxlevel="Info" final="true" /> - <logger name="*" minlevel="Trace" writeTo="logstash" > + <logger name="*" minlevel="Trace" writeTo="logstash"> <filters FilterDefaultAction="Log"> <when condition="length('${environment:LOGSTASH_URL}') < 10" action="Ignore" /> </filters> </logger> - </rules> </nlog> diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index 6069677e1..cca5f2011 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -36,12 +36,12 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "eUsIZ52uBJFCr/OUL1EHp0BAwdkfHFVGMyXYrkGUjkSWtPd751wgFzgWBstxOQYzUEyKtz1/wC72S8Db0vPvsg==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "xb10XFoPf/gWu8ik5v7xnVyUY7W21LBOLtT7PidzwYVdnE3aKuQ/bIZLcQuY7rdDNT89/wse2q5FRjm207cIMQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.11", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.11", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.12", "Microsoft.Extensions.Caching.Memory": "6.0.1", "Microsoft.Extensions.DependencyInjection": "6.0.1", "Microsoft.Extensions.Logging": "6.0.0", @@ -51,12 +51,12 @@ }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Direct", - "requested": "[6.0.11, )", - "resolved": "6.0.11", - "contentHash": "F5db018VdecebRNbRdk6sB2P9nCRmcVncp53IFivJhzVGWB6ogCXdRgkEak2KGSM6J8zPFiGpSUQYd3EIS4F0g==", + "requested": "[6.0.12, )", + "resolved": "6.0.12", + "contentHash": "2Hutlqt07bnWZFtYqT1lj0otX8ygMyBikysGnfQNF2TK3i5GqSTeJ8tqNi/URiI9II7Cyl15A0rflXmFoySuIw==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.11", - "SQLitePCLRaw.bundle_e_sqlite3": "2.0.6" + "Microsoft.EntityFrameworkCore.Sqlite.Core": "6.0.12", + "SQLitePCLRaw.bundle_e_sqlite3": "2.1.2" } }, "Microsoft.Extensions.Configuration": { @@ -288,19 +288,19 @@ }, "DotNext": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "MQ3ngZc4JOPX5MPJaeBQM6hhLEp4e1PdsgpanSb6cgsZJVji9oABqK3oo2ggjuUxnrVfhP7o1Hvjrk7K42oBcw==", + "resolved": "4.7.4", + "contentHash": "5Xp6G9U0MhSmfgxKklUUsOFfSg2VqF+/rkd7WyoUs7HqbnVd32bRw2rWW5o+rieHLzUlW/sagctPiaZqmeTA+g==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "DotNext.Threading": { "type": "Transitive", - "resolved": "4.8.0", - "contentHash": "Yo5qNVCx0AaHLS37q11TqAx6LsRgLOw7GkiuvCN0eJOghr06WC5ED7SgjjBAgbmII4A2qDgwRcWl8Csv//K8gQ==", + "resolved": "4.7.4", + "contentHash": "G/AogSunqiZZ/0H4y3Qy/YNveIB+6azddStmFxbxLWkruXZ27gXyoRQ9kQ2gpDbq/+YfMINz9nmTY5ZtuCzuyw==", "dependencies": { - "DotNext": "4.8.0", - "System.Threading.Channels": "7.0.0" + "DotNext": "4.7.4", + "System.Threading.Channels": "6.0.0" } }, "fo-dicom.NLog": { @@ -372,10 +372,10 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xCcaePISVs3Fdy+ji1yGDp1gCjUwDJpfIKrBWXWDgyzc3R2MmNxTW5YgNmnB7dvdHoJwf0jPZ50M5TBj7noV3w==", + "resolved": "6.0.12", + "contentHash": "bui5wPPqq9OwTL5A+YJPcVStTPrOFcLwg/kAVWyqdjrTief4kTK/3bNv0MqUDVNgAUG8pcFbtdc674CIh1F3gw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Microsoft.EntityFrameworkCore.Abstractions": { @@ -385,25 +385,25 @@ }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "xke0hphu+BSBwt6Kfv/XERe3s1G7BZjNUByyNj0oIZVD1KPaIhMQJBKHtblkCI04cMnO1Ac2NMEgO67rM+cP/w==" + "resolved": "6.0.12", + "contentHash": "ZDUY+KlsIyKdfvIJeNdqRiPExFQ5GRZVdx/Cp52vhpCJRImYv34O0Xfmw2eiLu4qe1jmM2pTzAAFKELaKwtj/w==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "cB1n/Hj8HLYuyIE6fEZyaAKn5qdU9QpDtFZ3KNLWyiZfftmY2T7Bz1Aea1DIUM/KQF22URRLkj7bs4S6CIEp+w==", + "resolved": "6.0.12", + "contentHash": "HBtRGHtF0Vf+BIQTkRGiopmE5rLYhj59xPpd17S1tLgYpiHDVbepCuHwh5H63fzjO99Z4tW5wmmEGF7KnD91WQ==", "dependencies": { - "Microsoft.EntityFrameworkCore": "6.0.11", + "Microsoft.EntityFrameworkCore": "6.0.12", "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "6.0.11", - "contentHash": "hV7yq12omAd1ccKCfMJS9xsz7+FxQeSGqRdWIIyWaUXmwmK9Df644mBpj0SDMORjmhsNz9L7EqwbZW+iyQi0VQ==", + "resolved": "6.0.12", + "contentHash": "07vKE7+t9Z2BfGmHuJwNZNv8m1GWt7ZpYYHFh1tQg1oC6FJ78bSaFzLawsf2NK6CLhbB8DBsjE0rRhxMJ4rXsA==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "6.0.11", - "Microsoft.EntityFrameworkCore.Relational": "6.0.11", + "Microsoft.Data.Sqlite.Core": "6.0.12", + "Microsoft.EntityFrameworkCore.Relational": "6.0.12", "Microsoft.Extensions.DependencyModel": "6.0.0" } }, @@ -1080,33 +1080,32 @@ }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "zssYqiaucyGArZfg74rJuzK0ewgZiidsRVrZTmP7JLNvK806gXg6PGA46XzoJGpNPPA5uRcumwvVp6YTYxtQ5w==", + "resolved": "2.1.2", + "contentHash": "ilkvNhrTersLmIVAcDwwPqfhUFCg19Z1GVMvCSi3xk6Akq94f4qadLORQCq/T8+9JgMiPs+F/NECw5uauviaNw==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6", - "SQLitePCLRaw.lib.e_sqlite3": "2.0.6", - "SQLitePCLRaw.provider.e_sqlite3": "2.0.6" + "SQLitePCLRaw.lib.e_sqlite3": "2.1.2", + "SQLitePCLRaw.provider.e_sqlite3": "2.1.2" } }, "SQLitePCLRaw.core": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "Vh8n0dTvwXkCGur2WqQTITvk4BUO8i8h9ucSx3wwuaej3s2S6ZC0R7vqCTf9TfS/I4QkXO6g3W2YQIRFkOcijA==", + "resolved": "2.1.2", + "contentHash": "A8EBepVqY2lnAp3a8jnhbgzF2tlj2S3HcJQGANTYg/TbYbKa8Z5cM1h74An/vy0svhfzT7tVY0sFmUglLgv+2g==", "dependencies": { "System.Memory": "4.5.3" } }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "xlstskMKalKQl0H2uLNe0viBM6fvAGLWqKZUQ3twX5y1tSOZKe0+EbXopQKYdbjJytNGI6y5WSKjpI+kVr2Ckg==" + "resolved": "2.1.2", + "contentHash": "zibGtku8M4Eea1R3ZCAxc86QbNvyEN17mAcQkvWKBuHvRpMiK2g5anG4R5Be7cWKSd1i6baYz8y4dMMAKcXKPg==" }, "SQLitePCLRaw.provider.e_sqlite3": { "type": "Transitive", - "resolved": "2.0.6", - "contentHash": "peXLJbhU+0clVBIPirihM1NoTBqw8ouBpcUsVMlcZ4k6fcL2hwgkctVB2Nt5VsbnOJcPspQL5xQK7QvLpxkMgg==", + "resolved": "2.1.2", + "contentHash": "lxCZarZdvAsMl2zw9bXHrXK6RxVhB4b23iTFhCOdHFhxfbsxLxWf+ocvswJwR/9Wh/E//ddMi+wJGqUKV7VwoA==", "dependencies": { - "SQLitePCLRaw.core": "2.0.6" + "SQLitePCLRaw.core": "2.1.2" } }, "Swashbuckle.AspNetCore": { @@ -1697,8 +1696,8 @@ }, "System.Threading.Channels": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "qmeeYNROMsONF6ndEZcIQ+VxR4Q/TX/7uIVLJqtwIWL7dDWeh0l1UIqgo4wYyjG//5lUNhwkLDSFl+pAWO6oiA==" + "resolved": "6.0.0", + "contentHash": "TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==" }, "System.Threading.Tasks": { "type": "Transitive", @@ -1793,10 +1792,10 @@ "type": "Project", "dependencies": { "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.8.0, )", + "DotNext.Threading": "[4.7.4, )", "HL7-dotnetcore": "[2.29.0, )", "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", "Microsoft.Extensions.Hosting": "[6.0.1, )", "Microsoft.Extensions.Logging": "[6.0.0, )", @@ -1871,7 +1870,7 @@ "type": "Project", "dependencies": { "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", @@ -1887,7 +1886,7 @@ "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", "Polly": "[7.2.3, )" @@ -1896,8 +1895,8 @@ "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.11, )", + "Microsoft.EntityFrameworkCore": "[6.0.12, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", "Microsoft.Extensions.Configuration": "[6.0.1, )", "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", diff --git a/tests/Integration.Test/study.json b/tests/Integration.Test/study.json index c60b21406..4e08cc3e0 100644 --- a/tests/Integration.Test/study.json +++ b/tests/Integration.Test/study.json @@ -55,4 +55,4 @@ "SizeMin": 1, "SizeMax": 2 } -} +} \ No newline at end of file From 116c2396c6d1763e80d8cee05010531e92454106 Mon Sep 17 00:00:00 2001 From: Victor Chang <mocsharp@users.noreply.github.com> Date: Thu, 15 Dec 2022 08:03:05 -0800 Subject: [PATCH 099/101] Update .gitversion.yml --- .github/.gitversion.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/.gitversion.yml b/.github/.gitversion.yml index 9939c220c..dd610fcfd 100644 --- a/.github/.gitversion.yml +++ b/.github/.gitversion.yml @@ -29,4 +29,4 @@ branches: ignore: sha: [] merge-message-formats: {} -next-version: 0.3.3 +next-version: 0.3.5 From 0fc021d6a366444a8f3926fad6d3ee2118237a9b Mon Sep 17 00:00:00 2001 From: Victor Chang <vicchang@nvidia.com> Date: Thu, 15 Dec 2022 16:19:51 +0000 Subject: [PATCH 100/101] Fix merge issues Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 23 +- docs/compliance/third-party-licenses.md | 279 ++++++------------ ....Deploy.InformaticsGateway.Api.Test.csproj | 2 +- src/Api/Test/packages.lock.json | 52 ++-- ...Monai.Deploy.InformaticsGateway.CLI.csproj | 2 +- ....Deploy.InformaticsGateway.CLI.Test.csproj | 2 +- src/CLI/Test/packages.lock.json | 88 +++--- src/CLI/packages.lock.json | 51 ++-- src/Client/Test/packages.lock.json | 187 ++++++------ ...ai.Deploy.InformaticsGateway.Common.csproj | 2 +- src/Common/Test/packages.lock.json | 43 +-- src/Common/packages.lock.json | 14 +- src/Configuration/Test/packages.lock.json | 66 ++--- src/Configuration/packages.lock.json | 39 +-- src/Database/Api/Test/packages.lock.json | 63 ++-- .../EntityFramework/Test/packages.lock.json | 79 +++-- .../Test/packages.lock.json | 190 ++++++------ tests/Integration.Test/packages.lock.json | 201 ++++++------- 18 files changed, 564 insertions(+), 819 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index d16f5c234..749084917 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -1220,32 +1220,17 @@ - 4.3.0 :when: 2022-08-16 23:06:49.709349587 Z - - :approve - - TestableIO.System.IO.Abstractions + - System.IO.Abstractions - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 18.0.1 + - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z -- - :approve - - TestableIO.System.IO.Abstractions.Extensions - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) - :versions: - - 1.0.34 - :when: 2022-08-16 23:06:50.602318269 Z -- - :approve - - TestableIO.System.IO.Abstractions.TestingHelpers - - :who: mocsharp - :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - :versions: - - 18.0.1 - :when: 2022-08-16 23:06:51.524564913 Z -- - :approve - - TestableIO.System.IO.Abstractions.Wrappers + - System.IO.Abstractions.TestingHelpers - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) :versions: - - 18.0.1 + - 17.2.3 :when: 2022-08-16 23:06:51.524564913 Z - - :approve - System.IO.Compression diff --git a/docs/compliance/third-party-licenses.md b/docs/compliance/third-party-licenses.md index 0831e2401..4bab9e488 100644 --- a/docs/compliance/third-party-licenses.md +++ b/docs/compliance/third-party-licenses.md @@ -15511,6 +15511,88 @@ consequential or other damages. </details> +<details> +<summary>System.IO.Abstractions 17.2.3</summary> + +## System.IO.Abstractions + +- Version: 17.2.3 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions/17.2.3) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + +<details> +<summary>System.IO.Abstractions.TestingHelpers 17.2.3</summary> + +## System.IO.Abstractions.TestingHelpers + +- Version: 17.2.3 +- Authors: Tatham Oddie & friends +- Project URL: https://github.com/TestableIO/System.IO.Abstractions +- Source: [NuGet](https://www.nuget.org/packages/System.IO.Abstractions.TestingHelpers/17.2.3) +- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) + + +``` +The MIT License (MIT) + +Copyright (c) Tatham Oddie and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` + +</details> + + <details> <summary>System.IO.Compression 4.3.0</summary> @@ -27749,156 +27831,6 @@ consequential or other damages. </details> -<details> -<summary>TestableIO.System.IO.Abstractions 18.0.1</summary> - -## TestableIO.System.IO.Abstractions - -- Version: 18.0.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions/18.0.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>TestableIO.System.IO.Abstractions.Extensions 1.0.34</summary> - -## TestableIO.System.IO.Abstractions.Extensions - -- Version: 1.0.34 -- Authors: Tatham Oddie - Luigi Grilli & friends -- Project URL: https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Extensions/1.0.34) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions.Extensions/raw/main/LICENSE.md) - - -``` -MIT License - -Copyright (c) 2021 Tatham Oddie - Luigi Grilli & friends - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` - -</details> - - -<details> -<summary>TestableIO.System.IO.Abstractions.TestingHelpers 18.0.1</summary> - -## TestableIO.System.IO.Abstractions.TestingHelpers - -- Version: 18.0.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.TestingHelpers/18.0.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>TestableIO.System.IO.Abstractions.Wrappers 18.0.1</summary> - -## TestableIO.System.IO.Abstractions.Wrappers - -- Version: 18.0.1 -- Authors: Tatham Oddie & friends -- Project URL: https://github.com/TestableIO/System.IO.Abstractions -- Source: [NuGet](https://www.nuget.org/packages/TestableIO.System.IO.Abstractions.Wrappers/18.0.1) -- License: [MIT](https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) - - -``` -The MIT License (MIT) - -Copyright (c) Tatham Oddie and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - <details> <summary>Validation 2.4.18</summary> @@ -28023,7 +27955,7 @@ SOFTWARE. <details> <summary>coverlet.collector 3.2.0</summary> -## ZstdSharp.Port +## coverlet.collector - Version: 3.2.0 - Authors: tonerdo @@ -28032,45 +27964,6 @@ SOFTWARE. - License: [MIT](https://github.com/coverlet-coverage/coverlet/raw/master/LICENSE) -``` -MIT License - -Copyright (c) 2021 Oleg Stepanischev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -``` - -</details> - - -<details> -<summary>fo-dicom 5.0.3</summary> - -## coverlet.collector - -- Version: 5.0.3 -- Authors: fo-dicom contributors -- Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) -- License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) - - ``` The MIT License (MIT) @@ -28099,14 +27992,14 @@ SOFTWARE. <details> -<summary>fo-dicom.NLog 5.0.3</summary> +<summary>fo-dicom 5.0.3</summary> -## fo-dicom.NLog +## fo-dicom - Version: 5.0.3 - Authors: fo-dicom contributors - Project URL: https://github.com/fo-dicom/fo-dicom -- Source: [NuGet](https://www.nuget.org/packages/fo-dicom.NLog/5.0.3) +- Source: [NuGet](https://www.nuget.org/packages/fo-dicom/5.0.3) - License: [Microsoft Public License](https://github.com/fo-dicom/fo-dicom/raw/development/License.txt) diff --git a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj index 2361cdea7..4a04855a4 100644 --- a/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj +++ b/src/Api/Test/Monai.Deploy.InformaticsGateway.Api.Test.csproj @@ -34,7 +34,7 @@ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/Api/Test/packages.lock.json b/src/Api/Test/packages.lock.json index 3eb142045..1babfad02 100644 --- a/src/Api/Test/packages.lock.json +++ b/src/Api/Test/packages.lock.json @@ -18,14 +18,13 @@ "Microsoft.TestPlatform.TestHost": "17.4.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -269,8 +268,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -605,6 +603,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1216,19 +1219,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1277,22 +1267,22 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj index ba471893b..b04005958 100644 --- a/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj +++ b/src/CLI/Monai.Deploy.InformaticsGateway.CLI.csproj @@ -60,6 +60,6 @@ <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> <PackageReference Include="System.CommandLine.Rendering" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> </ItemGroup> </Project> diff --git a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj index 38409216d..481dc7af9 100644 --- a/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj +++ b/src/CLI/Test/Monai.Deploy.InformaticsGateway.CLI.Test.csproj @@ -36,7 +36,7 @@ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" /> <PackageReference Include="Moq" Version="4.18.3" /> <PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" /> - <PackageReference Include="TestableIO.System.IO.Abstractions.TestingHelpers" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" /> <PackageReference Include="xRetry" Version="1.8.0" /> <PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> diff --git a/src/CLI/Test/packages.lock.json b/src/CLI/Test/packages.lock.json index 2a901678c..bfff2f281 100644 --- a/src/CLI/Test/packages.lock.json +++ b/src/CLI/Test/packages.lock.json @@ -38,14 +38,13 @@ "System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -517,8 +516,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -889,6 +887,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1502,19 +1505,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1563,55 +1553,55 @@ "mig-cli": { "type": "Project", "dependencies": { - "Crayon": "[2.0.69, )", - "Docker.DotNet": "[3.125.12, )", - "Microsoft.Extensions.Hosting": "[6.0.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "Microsoft.Extensions.Logging.Console": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Client": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "System.CommandLine": "[2.0.0-beta4.22272.1, )", - "System.CommandLine.Hosting": "[0.4.0-alpha.22272.1, )", - "System.CommandLine.Rendering": "[0.4.0-alpha.22272.1, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )" + "Crayon": "2.0.69", + "Docker.DotNet": "3.125.12", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "System.CommandLine": "2.0.0-beta4.22272.1", + "System.CommandLine.Hosting": "0.4.0-alpha.22272.1", + "System.CommandLine.Rendering": "0.4.0-alpha.22272.1", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/CLI/packages.lock.json b/src/CLI/packages.lock.json index dcb086994..f5245a9a1 100644 --- a/src/CLI/packages.lock.json +++ b/src/CLI/packages.lock.json @@ -108,11 +108,11 @@ "System.CommandLine": "2.0.0-beta4.22272.1" } }, - "TestableIO.System.IO.Abstractions": { + "System.IO.Abstractions": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -458,8 +458,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -1419,49 +1418,41 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Client/Test/packages.lock.json b/src/Client/Test/packages.lock.json index 9e8da71c2..1c37f572c 100644 --- a/src/Client/Test/packages.lock.json +++ b/src/Client/Test/packages.lock.json @@ -717,8 +717,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Messaging.RabbitMQ": { @@ -1189,6 +1188,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1611,19 +1615,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1677,140 +1668,140 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", - "HL7-dotnetcore": "[2.29.0, )", - "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Hosting": "[6.0.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "Microsoft.Extensions.Logging.Console": "[6.0.0, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", - "Monai.Deploy.Security": "[0.1.3, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "Monai.Deploy.Storage.MinIO": "[0.2.13, )", - "NLog": "[5.1.0, )", - "NLog.Web.AspNetCore": "[5.2.0, )", - "Polly": "[7.2.3, )", - "Swashbuckle.AspNetCore": "[6.4.0, )", - "fo-dicom": "[5.0.3, )", - "fo-dicom.NLog": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.19", + "Monai.Deploy.Security": "0.1.3", + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.MinIO": "0.2.13", + "NLog": "5.1.0", + "NLog.Web.AspNetCore": "5.2.0", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" + "AspNetCore.HealthChecks.MongoDb": "6.0.2", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj index 03ec144a0..4a74ecd74 100644 --- a/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj +++ b/src/Common/Monai.Deploy.InformaticsGateway.Common.csproj @@ -33,7 +33,7 @@ <PackageReference Include="GitVersion.MsBuild" Version="5.11.1"> <PrivateAssets>All</PrivateAssets> </PackageReference> - <PackageReference Include="TestableIO.System.IO.Abstractions" Version="18.0.1" /> + <PackageReference Include="System.IO.Abstractions" Version="17.2.3" /> <PackageReference Include="System.Threading.Tasks.Dataflow" Version="6.0.0" /> </ItemGroup> diff --git a/src/Common/Test/packages.lock.json b/src/Common/Test/packages.lock.json index a5070fc05..519ca4b70 100644 --- a/src/Common/Test/packages.lock.json +++ b/src/Common/Test/packages.lock.json @@ -35,36 +35,11 @@ }, "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Extensions": { - "type": "Direct", - "requested": "[1.0.34, )", - "resolved": "1.0.34", - "contentHash": "pH97COy/Ajoof+fa2Bffgbp+G+R3143DP7Ynocx9pd5JYQSoPHA1GfGlky+vm4NjfCXtGw0yb6Vuf4t1XcqhGw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "17.2.26" - } - }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" - } - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xunit": { @@ -1188,12 +1163,12 @@ "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Common/packages.lock.json b/src/Common/packages.lock.json index a289674f6..9a2b36402 100644 --- a/src/Common/packages.lock.json +++ b/src/Common/packages.lock.json @@ -34,18 +34,18 @@ "resolved": "5.11.1", "contentHash": "JlJB4dAc/MpLQvbF8OeyMKotDo5EcgU2pXmB+MlTe64B1Y0fc9GTMiAHiyUiHLnFRnOtrcSi1C3BsfRTmlD0sA==" }, + "System.IO.Abstractions": { + "type": "Direct", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Threading.Tasks.Dataflow": { "type": "Direct", "requested": "[6.0.0, )", "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, "JetBrains.Annotations": { "type": "Transitive", "resolved": "2021.3.0", @@ -143,4 +143,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Configuration/Test/packages.lock.json b/src/Configuration/Test/packages.lock.json index f95c0e2cc..6dd3029e8 100644 --- a/src/Configuration/Test/packages.lock.json +++ b/src/Configuration/Test/packages.lock.json @@ -27,14 +27,13 @@ "Castle.Core": "5.1.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xunit": { @@ -277,8 +276,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -618,6 +616,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1229,19 +1232,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1290,34 +1280,34 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } } } } -} +} \ No newline at end of file diff --git a/src/Configuration/packages.lock.json b/src/Configuration/packages.lock.json index 696c57be1..212a6d3ae 100644 --- a/src/Configuration/packages.lock.json +++ b/src/Configuration/packages.lock.json @@ -36,8 +36,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -55,11 +54,11 @@ "System.IO.Abstractions": "17.2.3" } }, - "TestableIO.System.IO.Abstractions": { + "System.IO.Abstractions": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" }, "Ardalis.GuardClauses": { "type": "Transitive", @@ -278,33 +277,25 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/Api/Test/packages.lock.json b/src/Database/Api/Test/packages.lock.json index 3eed4a2e9..817c91935 100644 --- a/src/Database/Api/Test/packages.lock.json +++ b/src/Database/Api/Test/packages.lock.json @@ -289,8 +289,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -638,6 +637,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1249,19 +1253,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1310,43 +1301,43 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/EntityFramework/Test/packages.lock.json b/src/Database/EntityFramework/Test/packages.lock.json index e3f20b0f9..de72708b0 100644 --- a/src/Database/EntityFramework/Test/packages.lock.json +++ b/src/Database/EntityFramework/Test/packages.lock.json @@ -402,8 +402,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -786,6 +785,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1409,19 +1413,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1470,56 +1461,56 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/Test/packages.lock.json b/src/InformaticsGateway/Test/packages.lock.json index ab5dfc3c0..8f254fbee 100644 --- a/src/InformaticsGateway/Test/packages.lock.json +++ b/src/InformaticsGateway/Test/packages.lock.json @@ -60,14 +60,13 @@ "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" } }, - "TestableIO.System.IO.Abstractions.TestingHelpers": { + "System.IO.Abstractions.TestingHelpers": { "type": "Direct", - "requested": "[18.0.1, )", - "resolved": "18.0.1", - "contentHash": "Z6Oc4Z0B+hZIoy5BM7M51oY23TsQO21Snet4UBuePCx9r27GRqSlTe3BHXx1QKkWrfXZIda1+tt0MMvK+eyNGw==", + "requested": "[17.2.3, )", + "resolved": "17.2.3", + "contentHash": "tkXvQbsfOIfeoGso+WptCuouFLiWt3EU8s0D8poqIVz1BJOOszkPuFbFgP2HUTJ9bp5n1HH89eFHILo6Oz5XUw==", "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "xRetry": { @@ -957,8 +956,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Messaging.RabbitMQ": { @@ -1418,6 +1416,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1840,19 +1843,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1906,131 +1896,131 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", - "HL7-dotnetcore": "[2.29.0, )", - "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Hosting": "[6.0.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "Microsoft.Extensions.Logging.Console": "[6.0.0, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", - "Monai.Deploy.Security": "[0.1.3, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "Monai.Deploy.Storage.MinIO": "[0.2.13, )", - "NLog": "[5.1.0, )", - "NLog.Web.AspNetCore": "[5.2.0, )", - "Polly": "[7.2.3, )", - "Swashbuckle.AspNetCore": "[6.4.0, )", - "fo-dicom": "[5.0.3, )", - "fo-dicom.NLog": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.19", + "Monai.Deploy.Security": "0.1.3", + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.MinIO": "0.2.13", + "NLog": "5.1.0", + "NLog.Web.AspNetCore": "5.2.0", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" + "AspNetCore.HealthChecks.MongoDb": "6.0.2", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/tests/Integration.Test/packages.lock.json b/tests/Integration.Test/packages.lock.json index f8df7cd5b..c0d15c964 100644 --- a/tests/Integration.Test/packages.lock.json +++ b/tests/Integration.Test/packages.lock.json @@ -814,22 +814,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" - } - }, - "Monai.Deploy.Security": { - "type": "Transitive", - "resolved": "0.1.1", - "contentHash": "kVIXocVcG3LNs2vbqg/wRq/noxqu/hOyuZ8+XKT4eUc9pudMcGyGIGhRAjKf+veDwza2nbEwhCJeBnChw04igQ==", - "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.11", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.3", - "Microsoft.Extensions.Logging.Configuration": "6.0.0" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Security": { @@ -1297,6 +1282,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1734,19 +1724,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "Validation": { "type": "Transitive", "resolved": "2.4.18", @@ -1814,140 +1791,140 @@ "monai.deploy.informaticsgateway": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "DotNext.Threading": "[4.7.4, )", - "HL7-dotnetcore": "[2.29.0, )", - "Karambolo.Extensions.Logging.File": "[3.3.1, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.DependencyInjection.Abstractions": "[6.0.0, )", - "Microsoft.Extensions.Hosting": "[6.0.1, )", - "Microsoft.Extensions.Logging": "[6.0.0, )", - "Microsoft.Extensions.Logging.Console": "[6.0.0, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "[1.0.0, )", - "Monai.Deploy.Messaging.RabbitMQ": "[0.1.19, )", - "Monai.Deploy.Security": "[0.1.3, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "Monai.Deploy.Storage.MinIO": "[0.2.13, )", - "NLog": "[5.1.0, )", - "NLog.Web.AspNetCore": "[5.2.0, )", - "Polly": "[7.2.3, )", - "Swashbuckle.AspNetCore": "[6.4.0, )", - "fo-dicom": "[5.0.3, )", - "fo-dicom.NLog": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "DotNext.Threading": "4.7.4", + "HL7-dotnetcore": "2.29.0", + "Karambolo.Extensions.Logging.File": "3.3.1", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.DicomWeb.Client": "1.0.0", + "Monai.Deploy.Messaging.RabbitMQ": "0.1.19", + "Monai.Deploy.Security": "0.1.3", + "Monai.Deploy.Storage": "0.2.13", + "Monai.Deploy.Storage.MinIO": "0.2.13", + "NLog": "5.1.0", + "NLog.Web.AspNetCore": "5.2.0", + "Polly": "7.2.3", + "Swashbuckle.AspNetCore": "6.4.0", + "fo-dicom": "5.0.3", + "fo-dicom.NLog": "5.0.3" } }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client": { "type": "Project", "dependencies": { - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )" + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "TestableIO.System.IO.Abstractions": "[18.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" + "AspNetCore.HealthChecks.MongoDb": "6.0.2", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file From 011d3fac2fdd38fbc3f01bbfa1b08dda1fa79368 Mon Sep 17 00:00:00 2001 From: Victor Chang <vicchang@nvidia.com> Date: Thu, 15 Dec 2022 16:29:10 +0000 Subject: [PATCH 101/101] Fix warnings Signed-off-by: Victor Chang <vicchang@nvidia.com> --- doc/dependency_decisions.yml | 1 + src/Api/Rest/InferenceRequest.cs | 33 ++--- src/Api/packages.lock.json | 31 ++--- src/Client.Common/Test/packages.lock.json | 4 +- src/Client/packages.lock.json | 45 +++---- src/Database/Api/packages.lock.json | 55 ++++---- .../EntityFramework/packages.lock.json | 63 ++++----- .../Integration.Test/packages.lock.json | 69 +++++----- src/Database/MongoDB/packages.lock.json | 63 ++++----- src/Database/packages.lock.json | 85 ++++++------ src/DicomWebClient/CLI/packages.lock.json | 20 +-- src/DicomWebClient/Test/packages.lock.json | 18 +-- src/DicomWebClient/packages.lock.json | 6 +- src/InformaticsGateway/packages.lock.json | 127 ++++++++---------- 14 files changed, 275 insertions(+), 345 deletions(-) diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 749084917..b0f7f4063 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -1226,6 +1226,7 @@ :versions: - 17.2.3 :when: 2022-08-16 23:06:50.602318269 Z +- - :approve - System.IO.Abstractions.TestingHelpers - :who: mocsharp :why: MIT (https://github.com/TestableIO/System.IO.Abstractions/raw/main/LICENSE) diff --git a/src/Api/Rest/InferenceRequest.cs b/src/Api/Rest/InferenceRequest.cs index 0302279bf..cca4558a3 100644 --- a/src/Api/Rest/InferenceRequest.cs +++ b/src/Api/Rest/InferenceRequest.cs @@ -168,7 +168,7 @@ public InputConnectionDetails? Application { get { - return InputResources.FirstOrDefault(predicate => predicate.Interface == InputInterfaceType.Algorithm)?.ConnectionDetails; + return InputResources?.FirstOrDefault(predicate => predicate.Interface == InputInterfaceType.Algorithm)?.ConnectionDetails; } } @@ -232,13 +232,13 @@ private void ValidateOUtputResources(List<string> errors) { Guard.Against.Null(errors); - if (InputMetadata.Inputs.IsNullOrEmpty()) + if (InputMetadata is not null && InputMetadata.Inputs.IsNullOrEmpty()) { errors.Add("Request has no `inputMetadata` defined. At least one `inputs` or `inputMetadata` required."); } - else + else if (InputMetadata!.Inputs is not null) { - foreach (var inputDetails in InputMetadata.Inputs) + foreach (var inputDetails in InputMetadata!.Inputs) { CheckInputMetadataDetails(inputDetails, errors); } @@ -249,7 +249,7 @@ private void ValidateInputMetadata(List<string> errors) { Guard.Against.Null(errors); - foreach (var output in OutputResources) + foreach (var output in OutputResources ?? Enumerable.Empty<RequestOutputDataResource>()) { if (output.Interface == InputInterfaceType.DicomWeb) { @@ -267,12 +267,12 @@ private void ValidateInputResources(List<string> errors) Guard.Against.Null(errors); if (InputResources.IsNullOrEmpty() || - !InputResources.Any(predicate => predicate.Interface != InputInterfaceType.Algorithm)) + !InputResources!.Any(predicate => predicate.Interface != InputInterfaceType.Algorithm)) { errors.Add("No 'inputResources' specified."); } - foreach (var input in InputResources) + foreach (var input in InputResources ?? Enumerable.Empty<RequestInputDataResource>()) { if (input.Interface == InputInterfaceType.DicomWeb) { @@ -326,7 +326,7 @@ private static void CheckInputMetadataWithTypeFhirResource(InferenceRequestDetai { errors.Add("Request type is set to `FHIR_RESOURCE` but no FHIR `resources` defined."); } - else + else if (details.Resources is not null) { errors.AddRange(details.Resources.Where(resource => string.IsNullOrWhiteSpace(resource.Type)).Select(resource => "A FHIR resource type cannot be empty.")); } @@ -341,7 +341,7 @@ private static void CheckInputMetadataWithTypDicomUid(InferenceRequestDetails de { errors.Add("Request type is set to `DICOM_UID` but no `studies` defined."); } - else + else if (details.Studies is not null) { foreach (var study in details.Studies) { @@ -358,7 +358,7 @@ private static void CheckInputMetadataWithTypDicomUid(InferenceRequestDetails de private static void CheckInputMetadataWithTypeDicomSeries(List<string> errors, RequestedStudy study) { - foreach (var series in study.Series) + foreach (var series in study.Series ?? Enumerable.Empty<RequestedSeries>()) { if (string.IsNullOrWhiteSpace(series.SeriesInstanceUid)) { @@ -366,31 +366,32 @@ private static void CheckInputMetadataWithTypeDicomSeries(List<string> errors, R } if (series.Instances is null) continue; + errors.AddRange( series.Instances .Where( instance => instance.SopInstanceUid.IsNullOrEmpty() || - instance.SopInstanceUid.Any(p => string.IsNullOrWhiteSpace(p))) + instance.SopInstanceUid!.Any(p => string.IsNullOrWhiteSpace(p))) .Select(instance => "`SOPInstanceUID` cannot be empty.")); } } - private static void CheckFhirConnectionDetails(string source, List<string> errors, DicomWebConnectionDetails connection) + private static void CheckFhirConnectionDetails(string source, List<string> errors, DicomWebConnectionDetails? connection) { - if (!Uri.IsWellFormedUriString(connection.Uri, UriKind.Absolute)) + if (connection is not null && !Uri.IsWellFormedUriString(connection.Uri, UriKind.Absolute)) { errors.Add($"The provided URI '{connection.Uri}' in `{source}` is not well formed."); } } - private static void CheckDicomWebConnectionDetails(string source, List<string> errors, DicomWebConnectionDetails connection) + private static void CheckDicomWebConnectionDetails(string source, List<string> errors, DicomWebConnectionDetails? connection) { - if (connection.AuthType != ConnectionAuthType.None && string.IsNullOrWhiteSpace(connection.AuthId)) + if (connection is not null && connection.AuthType != ConnectionAuthType.None && string.IsNullOrWhiteSpace(connection.AuthId)) { errors.Add($"One of the '{source}' has authType of '{connection.AuthType:F}' but does not include a valid value for 'authId'"); } - if (!Uri.IsWellFormedUriString(connection.Uri, UriKind.Absolute)) + if (connection is not null && !Uri.IsWellFormedUriString(connection.Uri, UriKind.Absolute)) { errors.Add($"The provided URI '{connection.Uri}' is not well formed."); } diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index fd7072dd9..5a6e87970 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -32,8 +32,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -239,6 +238,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -272,28 +276,15 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Client.Common/Test/packages.lock.json b/src/Client.Common/Test/packages.lock.json index f377bdbf2..0c9173250 100644 --- a/src/Client.Common/Test/packages.lock.json +++ b/src/Client.Common/Test/packages.lock.json @@ -1086,8 +1086,8 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } } } diff --git a/src/Client/packages.lock.json b/src/Client/packages.lock.json index c9af8b46f..e1efacf6b 100644 --- a/src/Client/packages.lock.json +++ b/src/Client/packages.lock.json @@ -222,8 +222,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -562,6 +561,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1175,45 +1179,32 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/Api/packages.lock.json b/src/Database/Api/packages.lock.json index db1401469..f42d478d5 100644 --- a/src/Database/Api/packages.lock.json +++ b/src/Database/Api/packages.lock.json @@ -225,8 +225,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -283,6 +282,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -316,50 +320,37 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/EntityFramework/packages.lock.json b/src/Database/EntityFramework/packages.lock.json index 5307c2737..8df7a1ecc 100644 --- a/src/Database/EntityFramework/packages.lock.json +++ b/src/Database/EntityFramework/packages.lock.json @@ -325,8 +325,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -418,6 +417,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -463,59 +467,46 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/MongoDB/Integration.Test/packages.lock.json b/src/Database/MongoDB/Integration.Test/packages.lock.json index 44c222921..f370bb2c9 100644 --- a/src/Database/MongoDB/Integration.Test/packages.lock.json +++ b/src/Database/MongoDB/Integration.Test/packages.lock.json @@ -332,8 +332,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -743,6 +742,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.Compression": { "type": "Transitive", "resolved": "4.3.0", @@ -1373,19 +1377,6 @@ "System.Xml.ReaderWriter": "4.3.0" } }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "xunit.abstractions": { "type": "Transitive", "resolved": "2.0.3", @@ -1439,51 +1430,51 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } } } } -} +} \ No newline at end of file diff --git a/src/Database/MongoDB/packages.lock.json b/src/Database/MongoDB/packages.lock.json index db612a9f1..166175a72 100644 --- a/src/Database/MongoDB/packages.lock.json +++ b/src/Database/MongoDB/packages.lock.json @@ -263,8 +263,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -349,6 +348,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", "resolved": "6.0.0", @@ -396,19 +400,6 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -417,43 +408,43 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } } } } -} +} \ No newline at end of file diff --git a/src/Database/packages.lock.json b/src/Database/packages.lock.json index 115977c64..8dcbe8460 100644 --- a/src/Database/packages.lock.json +++ b/src/Database/packages.lock.json @@ -374,8 +374,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage": { @@ -516,6 +515,11 @@ "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.Memory": { "type": "Transitive", "resolved": "4.5.4", @@ -575,19 +579,6 @@ "resolved": "6.0.0", "contentHash": "+tyDCU3/B1lDdOOAJywHQoFwyXIUghIaP2BxG79uvhfTnO+D9qIgjVlL/JV2NTliYbMHpd6eKDmHp2VHpij7MA==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -596,64 +587,64 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } } } } -} +} \ No newline at end of file diff --git a/src/DicomWebClient/CLI/packages.lock.json b/src/DicomWebClient/CLI/packages.lock.json index 997a169e1..a7d23637f 100644 --- a/src/DicomWebClient/CLI/packages.lock.json +++ b/src/DicomWebClient/CLI/packages.lock.json @@ -1474,22 +1474,22 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file diff --git a/src/DicomWebClient/Test/packages.lock.json b/src/DicomWebClient/Test/packages.lock.json index f6e6413f5..c4e8195b9 100644 --- a/src/DicomWebClient/Test/packages.lock.json +++ b/src/DicomWebClient/Test/packages.lock.json @@ -1208,20 +1208,20 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } diff --git a/src/DicomWebClient/packages.lock.json b/src/DicomWebClient/packages.lock.json index 4a4e2fe62..714d952dd 100644 --- a/src/DicomWebClient/packages.lock.json +++ b/src/DicomWebClient/packages.lock.json @@ -1254,10 +1254,10 @@ "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } } } } -} +} \ No newline at end of file diff --git a/src/InformaticsGateway/packages.lock.json b/src/InformaticsGateway/packages.lock.json index 227586447..2d9ebe3d2 100644 --- a/src/InformaticsGateway/packages.lock.json +++ b/src/InformaticsGateway/packages.lock.json @@ -752,8 +752,7 @@ "Microsoft.Extensions.Logging": "6.0.0", "Newtonsoft.Json": "13.0.2", "System.ComponentModel.Annotations": "5.0.0", - "TestableIO.System.IO.Abstractions": "18.0.1", - "TestableIO.System.IO.Abstractions.Wrappers": "18.0.1" + "System.IO.Abstractions": "17.2.3" } }, "Monai.Deploy.Storage.S3Policy": { @@ -1137,6 +1136,11 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "17.2.3", + "contentHash": "VcozGeE4SxIo0cnXrDHhbrh/Gb8KQnZ3BvMelvh+iw0PrIKtuuA46U2Xm4e4pgnaWFgT4RdZfTpWl/WPRdw0WQ==" + }, "System.IO.FileSystem": { "type": "Transitive", "resolved": "4.3.0", @@ -1554,19 +1558,6 @@ "resolved": "4.4.0", "contentHash": "BahUww/+mdP4ARCAh2RQhQTg13wYLVrBb9SYVgW8ZlrwjraGCXHGjo0oIiUfZ34LUZkMMR+RAzR7dEY4S1HeQQ==" }, - "TestableIO.System.IO.Abstractions": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "nacJfL4mGObg8Ttn3ZCJZ2u9z8ivG43xgUJvQQLKCmDnle4m49NYNOLk8cqB4iPdSqVhnUSy+qcIryWgDHCqeg==" - }, - "TestableIO.System.IO.Abstractions.Wrappers": { - "type": "Transitive", - "resolved": "18.0.1", - "contentHash": "3vGUMEHgL7l1Jyvv0WdDzCrwV6xKRhI2xVgWHQDbfVsye/ZBflhWFyVrCanPHzm0r0WSl0ug8DuaKwmelHlLCw==", - "dependencies": { - "TestableIO.System.IO.Abstractions": "18.0.1" - } - }, "ZstdSharp.Port": { "type": "Transitive", "resolved": "0.6.2", @@ -1575,100 +1566,100 @@ "monai.deploy.informaticsgateway.api": { "type": "Project", "dependencies": { - "Macross.Json.Extensions": "[3.0.0, )", - "Microsoft.EntityFrameworkCore.Abstractions": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )" + "Macross.Json.Extensions": "3.0.0", + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.12", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13" } }, "monai.deploy.informaticsgateway.client.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.Text.Json": "[6.0.7, )" + "Ardalis.GuardClauses": "4.0.1", + "System.Text.Json": "6.0.7" } }, "monai.deploy.informaticsgateway.common": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "System.IO.Abstractions": "[17.2.3, )", - "System.Threading.Tasks.Dataflow": "[6.0.0, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "System.IO.Abstractions": "17.2.3", + "System.Threading.Tasks.Dataflow": "6.0.0", + "fo-dicom": "5.0.3" } }, "monai.deploy.informaticsgateway.configuration": { "type": "Project", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "[6.0.3, )", - "Microsoft.Extensions.Options": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Common": "[1.0.0, )", - "Monai.Deploy.Messaging": "[0.1.19, )", - "Monai.Deploy.Storage": "[0.2.13, )", - "System.IO.Abstractions": "[17.2.3, )" + "Microsoft.Extensions.Logging.Abstractions": "6.0.3", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Common": "1.0.0", + "Monai.Deploy.Messaging": "0.1.19", + "Monai.Deploy.Storage": "0.2.13", + "System.IO.Abstractions": "17.2.3" } }, "monai.deploy.informaticsgateway.database": { "type": "Project", "dependencies": { - "AspNetCore.HealthChecks.MongoDb": "[6.0.2, )", - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[6.0.11, )", - "Microsoft.Extensions.Options.ConfigurationExtensions": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.MongoDB": "[1.0.0, )" + "AspNetCore.HealthChecks.MongoDb": "6.0.2", + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "6.0.11", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.EntityFramework": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.MongoDB": "1.0.0" } }, "monai.deploy.informaticsgateway.database.api": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Polly": "[7.2.3, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Polly": "7.2.3" } }, "monai.deploy.informaticsgateway.database.entityframework": { "type": "Project", "dependencies": { - "Microsoft.EntityFrameworkCore": "[6.0.12, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[6.0.12, )", - "Microsoft.Extensions.Configuration": "[6.0.1, )", - "Microsoft.Extensions.Configuration.FileExtensions": "[6.0.0, )", - "Microsoft.Extensions.Configuration.Json": "[6.0.0, )", - "Monai.Deploy.InformaticsGateway.Api": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Configuration": "[1.0.0, )", - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )" + "Microsoft.EntityFrameworkCore": "6.0.12", + "Microsoft.EntityFrameworkCore.Sqlite": "6.0.12", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Monai.Deploy.InformaticsGateway.Api": "1.0.0", + "Monai.Deploy.InformaticsGateway.Configuration": "1.0.0", + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0" } }, "monai.deploy.informaticsgateway.database.mongodb": { "type": "Project", "dependencies": { - "Monai.Deploy.InformaticsGateway.Database.Api": "[1.0.0, )", - "MongoDB.Driver": "[2.18.0, )", - "MongoDB.Driver.Core": "[2.18.0, )" + "Monai.Deploy.InformaticsGateway.Database.Api": "1.0.0", + "MongoDB.Driver": "2.18.0", + "MongoDB.Driver.Core": "2.18.0" } }, "monai.deploy.informaticsgateway.dicomweb.client": { "type": "Project", "dependencies": { - "Ardalis.GuardClauses": "[4.0.1, )", - "Microsoft.AspNet.WebApi.Client": "[5.2.9, )", - "Microsoft.Extensions.Http": "[6.0.0, )", - "Microsoft.Net.Http.Headers": "[2.2.8, )", - "Monai.Deploy.InformaticsGateway.Client.Common": "[1.0.0, )", - "System.Linq.Async": "[6.0.1, )", - "fo-dicom": "[5.0.3, )" + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.AspNet.WebApi.Client": "5.2.9", + "Microsoft.Extensions.Http": "6.0.0", + "Microsoft.Net.Http.Headers": "2.2.8", + "Monai.Deploy.InformaticsGateway.Client.Common": "1.0.0", + "System.Linq.Async": "6.0.1", + "fo-dicom": "5.0.3" } } } } -} +} \ No newline at end of file